Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подстроки слитно с текстом в регулярном выражении, Сформировать строку типа $1test  
:(
    Опции темы
ArNic
Дата 26.3.2012, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Никогда не сталкивался. В поиске не смог найти. Допстим мы ищем строку для замены. Отмечаем в регулрном выражении две подстроки.
В замене мы пишем следующее
Код

preg_replace("(a.{0,1}a).*?(b.{0,1}b)","$1replace$2",'aba haba bub');

Что примечательно конструкция вида $1replace$2 воспринимается неадекватно. Как можно отделить, если не пробелом?

PM MAIL ICQ   Вверх
Evghenusi
Дата 26.3.2012, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 6
Всего: 15



Цитата(ArNic @  26.3.2012,  22:34 Найти цитируемый пост)
конструкция вида $1replace$2 воспринимается неадекватно
может из-за двойных кавычек? php пытается в них найти переменную

так же вы забыли вписать разделительные символы в регулярке "/(a.{0,1}a).*?(b.{0,1}b)/".

p.s. вместо "{0,1}" можно использовать "?" => "/(a.?a).*?(b.?b)/"


PM WWW   Вверх
ArNic
Дата 26.3.2012, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 3.1.2007

Репутация: нет
Всего: нет



Цитата(Evghenusi @  26.3.2012,  23:35 Найти цитируемый пост)
может из-за двойных кавычек? php пытается в них найти переменную

да, Вы правы, лучшее решение, поставить одиночные кавычки

Цитата(Evghenusi @  26.3.2012,  23:35 Найти цитируемый пост)
так же вы забыли вписать разделительные символы в регулярке "/(a.{0,1}a).*?(b.{0,1}b)/".

Да, забыл. За что сильно извиняюсь. Писал прямо здесь пример и просто упустил из виду.


Цитата(Evghenusi @  26.3.2012,  23:35 Найти цитируемый пост)

p.s. вместо "{0,1}" можно использовать "?" => "/(a.?a).*?(b.?b)/"

Поддерживаю полностью.
PM MAIL ICQ   Вверх
Evghenusi
Дата 27.3.2012, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


майский жук
**


Профиль
Группа: Участник
Сообщений: 506
Регистрация: 3.8.2006
Где: Молдова, Кишинёв

Репутация: 6
Всего: 15



проблема решена?
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1122 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.