Извлеките DIV из XHTML с помощью simpleHTMLDom, а затем распечатайте
Задача - очистить содержимое внутри тега DIV с идентификатором, а затем вернуть XHTML. Я использую 'PHP Simple HTML DOM Parser'
Пример упрощенного кода:
<html><head></head>
<body>
<h1>Head</h1>
<div class="page">
<div id="content">
<h2>Section head</h2>
<p>Text</p>
</div>
<div id="footer">Footer text</div>
</div>
</body>
</html>
Я могу получить содержание в порядке с:
$content = $html->find('#content');
$ content теперь представляет собой объект simpleDOM - массив (исправлено).
Как мне преобразовать это обратно в XHTML, чтобы у меня было просто:
<div id="content">
<h2>Section head</h2>
<p>Text</p>
</div>
Спасибо
2 ответа
Ты пытался:
// Dumps the internal DOM tree back into string
$str = $content->save();
Это работало хорошо:
// Sample HTML string
$html_str = '<html><head></head><body><h1>Head</h1><div class="page"><div id="content"><h2>Section head</h2><p>Text</p></div><div id="footer">Footer text</div></div></body></html>';
// Create new DOM object
$dom = new DOMDocument();
// $html_str is HTML (can load from URL, if your host allows)
$dom->loadHTML($html_str);
// Get DIV id="content"
$element = $dom->getElementById('content');
// use save XML as input is XHTML.
echo $dom->saveXML($element);
// cleanup to prevent memory leak
$dom->clear();
unset($dom);
При использовании в другом шаблоне вам нужно будет добавить правильный набор символов для правильного отображения символов