Регулярка.

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 18 октября 2015 в 19:27
Здравствуйте, подскажите, знатоки, что не так с выражением
  1. preg_replace("/^<a(.*?)>(.*?)</a>/si", "<b//1>//2</b>", $text);
#2 18 октября 2015 в 20:10
Может
  1. preg_replace("/^<a(.*?)>(.*?)<\/a>/si", "<b\\1>\\2</b>", $text);
#3 18 октября 2015 в 20:30
Mi, Этот вариант тоже пробовал, не хотит паразит работать.
#4 18 октября 2015 в 21:31
Lora, а так попробуйте:
  1. preg_replace("/^<a(.*?)>(.*?)<\/a>/si", "<b$1>$2</b>", $text);
#5 18 октября 2015 в 21:47
Так тоже не хочет. Самый прикол в том, что пишу
  1. if(preg_replace("/^<a(.*?)>(.*?)<\/a>/si", "<b$1>$2</b>", $strs)){
  2. echo $strs.'</br>';
  3. }
и $strs выводится, но ссылки как были, так и есть!
#6 18 октября 2015 в 23:38
Сама регулярка рабочая, а результат можно увидеть например так:
  1. echo preg_replace("/^<a(.*?)>(.*?)<\/a>/si", "<b$1>$2</b>", $strs);
#7 19 октября 2015 в 00:01
Упростил до не могу. В файле /components/content/frontend.php первая ветка, пишу
  1. echo preg_replace("/^<p>(.*?)</p>/i", "<b>$1</b>", $article['content']);
И ничего. Подозреваю, что возможно дело в пробелах и тп, но знаний не хватает проверить.
#8 19 октября 2015 в 00:19


Упростил до не могу. В файле /components/content/frontend.php первая ветка, пишу

  1. echo preg_replace("/^(.*?)/i", "$1", $article['content']);
И ничего. Подозреваю, что возможно дело в пробелах и тп, но знаний не хватает проверить.

Lora

Уберите символ ^ в регулярке.
#9 19 октября 2015 в 00:33

echo preg_replace("/^(.*?)/i", "$1", $article['content']);

Максим
Это вроде не моё выражение, но оно возвращает $article['content']
#10 19 октября 2015 в 00:41
Кое какие сдвиги.Поменял флаг.
  1. preg_replace("/(.*?)/u", "<b>$1</b>", $article['content']);
тег <b> добавила, правда вернула строку вместе с тегами.
#11 19 октября 2015 в 00:44


Кое какие сдвиги.Поменял флаг.

  1. preg_replace("/(.*?)/u", "$1", $article['content']);
тег добавила, правда вернула строку вместе с тегами.

Lora

А какой вы результат ожидаете? Опишите что нужно получить на выходе.
#12 19 октября 2015 в 01:01
Заменить тег а на тег b
  1. preg_replace("/<p><a(.*?)>(.*?)<\/a><\/p>/u", "<p><b$1>$2</b></p>", $html)
#13 19 октября 2015 в 08:03


Заменить тег а на тег b

  1. preg_replace("/<p><a(.*?)>(.*?)<\/a><\/p>/u", "<p><b$1>$2</b></p>", $html)

Lora

Проверил у себя, работает.
  1. echo preg_replace("/<a(.*?)>(.*?)<\/a>/u", "<b$1>$2</b>", $html)
#14 19 октября 2015 в 12:28
Да, Максим, у меня тоже к утру, заработало, hohoспасибо.Программа минимум выполнена.Теперь дальше мучить буду.
#15 20 октября 2015 в 10:38
Тема зарыта.

Похожие темы

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.