Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Почеме не срабатывает preg_replace

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Флекс
Отправлено: 26 Марта, 2015 - 19:30:43
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $str = '[p1=>1][p2=>2][p3=>3][p4=>4]';
  2. $str = preg_replace('\[p2=>\w+[a-zA-Z0-9_]]','[p2=>333]', $str);
  3. echo $str;


Огорчение Подскажите почему не происходит замена?

(Отредактировано автором: 26 Марта, 2015 - 19:31:06)

 
 Top
GoDr
Отправлено: 26 Марта, 2015 - 19:32:28
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Флекс, а давай с первого класса начнём, .... что и на что ты хочешь заменить? Подмигивание


-----
Система управления веб-содержимым Lotos CMS
 
 Top
Флекс
Отправлено: 26 Марта, 2015 - 19:39:27
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Хочу что бы в строке:

$str = '[p1=>1][p2=>2][p3=>3][p4=>4]';

Подстрока [p2=>2] менялась например на [p2=>22] или вобще удалялась. Но то что, стоит после [p2=>(тут может быть что угодно)] нам не известно, поэтому пытаюсь искать с помощью такой регулярки \[p2=>\w+[a-zA-Z0-9_]] но она не срабатывает
(Добавление)
Всё разобрался))
Дело было в регулярке
PHP:
скопировать код в буфер обмена
  1. $str = '[p1=>1][p2=>2][p3=>3][p4=>4]';
  2. $str = preg_replace('!\[p2=>[a-z0-9_]\]!i','[p2=>333]', $str);
  3. print $str;

(Отредактировано автором: 26 Марта, 2015 - 19:41:08)

 
 Top
GoDr
Отправлено: 26 Марта, 2015 - 19:45:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




ну например можно попробовать так
PHP:
скопировать код в буфер обмена
  1. $str = '[p1=>1][p2=>2][p3=>3][p4=>4]';
  2. $str = preg_replace('#\[p2=>.*?\]#is','[p2=>44444444]', $str);
  3. echo $str;

(Отредактировано автором: 26 Марта, 2015 - 19:45:32)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB