Страницы

Поиск по вопросам

пятница, 24 мая 2019 г.

Регулярное выражение по HTML

У меня есть такой HTML-код:


Я составил для этого кода регулярное выражение:
\\\\\<\/div\>
Но оно, почему-то, пишет, что нет совпадений. Кто знает в чём дело?


Ответ

Для манипуляций с HTML лучше пользоваться HTML-парсером. Вот пример использования PHP DomDocument для удаления определенных тегов вместе с их содержимым:
$html = <<

Start

DATA;
$dom = new DOMDocument('1.0', 'UTF-8'); // Инициализация DOMDocument $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); // Заполнение структуры данными
$xpath = new DOMXPath($dom); // Инициализация DOMXPath нашими данными $divs = $xpath->query('//div[@id="community_header" and @class="wcommunity_header"]'); // Запрос XPath
foreach ($divs as $div) { $div->parentNode->removeChild($div); // Удаление найденных элементов }
echo $dom->saveHTML();
См. демо этого кода
Запрос XPath означает:
//div - найди все div, в которых [@id="community_header" - атрибутidравенcommunity_header` and - а также @class="wcommunity_header"] - атрибут class равен wcommunity_header

Комментариев нет:

Отправить комментарий