Получить содержимое определенного HTML тэга в строке на PHP?
Вопрос: как получить "Содержимое" из HTML тэга <div class="test">
в переменной PHP:
$str = '<HTML><h1>Заголовок</h1><div class="test">Содержимое</div><div></div></HTML>';
Чем проще решение тем лучше. Вариант с "посимвольной" обрезкой - не вариант, т.к. вырезка происходит с HTML страницы, где неизвестно где какой символ по счету
Ответы (1 шт):
Автор решения: Uranus
→ Ссылка
Можно воспользоваться библиотекой DOMDocument.
$str = '<HTML><h1>Заголовок</h1><div class="test">Содержимое</div><div></div></HTML>';
$dom = new DOMDocument();
@$dom->loadHTML($str); // @ подавляет предупреждения, если HTML не полностью корректный
$xpath = new DOMXPath($dom);
$elements = $xpath->query('//div[@class="test"]');
$content = null;
if ($elements->length > 0) {
$content = $elements->item(0)->nodeValue;
}