Как написать регулярное выражение php, которое убирает
если найдет в нем атрибут style="display:none;"
Имею переменную
$text = "
<p style="display:none;">Текст первый</p>
<p>Текст2</p>
<p style="display:none;">Текст второй)))</p>
<p>Текст4</p>";
хотелось бы убрать все блоки где присутствует style="display:none;" и остались только те , где не было этого атрибута Чтоб получилось вот так:
$text = "
<p>Текст2</p>
<p>Текст4</p>";
Подскажите как это сделать, пожалуйста
Ответы (1 шт):
Автор решения: PotroNik
→ Ссылка
Регулярное выражение:
^(?!.*style="display:none;")<p.*<\/p>$
где используется негативный просмотр впере (?!.*style="display:none;")
$re = '/^(?!.*style="display:none;")<p.*<\/p>$/m';
$str = '<p style="display:none;">Текст первый</p>
<p>Текст2</p>
<p style="display:none;">Текст второй)))</p>
<p>Текст4</p>';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Сгенерировано автоматически по ссылке: https://regex101.com/r/u5Uzwr/1/