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

Как удалить строку содержащие определенное слово?

Есть такие данные:
<p>one</p>
<p>two</p>
<p>three</p>

Нужно вывести только
<p>белый</p>
<p>зеленый</p>

Пытаюсь так, но убирает всё
$text = preg_replace('#(<p>(.*?)three(.*?)</p>)#is', '', $text);
  • Вопрос задан
  • 404 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@dodo512
Модификатор s (PCRE_DOTALL) не нужен.
$text = '
<p>one</p>
<p>two</p>
<p>three</p>
';

$text = preg_replace('#<p>.*?three.*?</p>#i', '', $text);

echo $text;


Если весь текст в одну строку, то так:
$text = '
<p>one</p> <p>two</p> <p>three</p>
';

$text = preg_replace('#<p>(?:(?!</p>).)*?three.*?</p>#i', '', $text);

echo $text;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽