Php Удалить div в HTML с определенным именем класса с помощью регулярных выражений

У меня есть html для анализа, который содержит несколько div, тегов, ссылок и так далее. Я хочу удалить через PHP все div с определенным именем класса: «hide» (даже если у div есть несколько имен классов, он должен работать).

например

<div class="hide">somecontents, some tags, some subdivs</div>

но также

<div class="row background upperdiv hide green">somecontents, some tags, some subdivs</div>

Я пробовал это регулярное выражение:

$replacediv = "/(<div[^>]*class=\"(.*?)hide(.*?)\"[^>]*>*.*<\/div>)/i";
$response = preg_replace($replacediv, '', $response);

Но это не работает! Где я не прав?

0

Решение

Попробуйте это регулярное выражение (но если div содержит еще один div, у вас могут возникнуть проблемы):

$replacediv = '/<div[^>]+class="[^>]*hide[^>]*"[^>]*>.*?<\/div>/i';
$response = preg_replace($replacediv, '', $response);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]