Задать вопрос
@User782
Кратко о себе

Как заменить только в тегах p?

Как сделать замену только в тегах p?
И если есть в тегах p например другой тег a, то не заменить внутри тега a
например заменить 123 на qwe:
<div>123</div>
<p>123</p>
<p>123<a href="/123">123</a></p>

нужно чтобы осталось:
<div>123</div>
<p>qwe</p>
<p>qwe<a href="/123">123</a></p>

Спасибо
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@alekcena
Нелинейный наставник
Вынести это в отдельную переменную и добавлять её только в голые теги p?
$str = "Ваш текст";

<p><?=$str?></p>
Ответ написан
Комментировать
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Используйте preg_replace:

echo preg_replace('/<p>[^<]+</', '<p>qwe<',  '<div>123</div>');
echo PHP_EOL;

echo preg_replace('/<p>[^<]+</', '<p>qwe<',  '<p>123</p>');
echo PHP_EOL;

echo preg_replace('/<p>[^<]+</', '<p>qwe<',  '<p>123<a href="/123">123</a></p>');
echo PHP_EOL;


PHP preg_replace online
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы