Если я использую saveHTML()
без необязательного параметра DOMnode
, он работает как положено:
$html = '<html><body><div>123</div><div>456</div></body></html>';
$dom = new DOMDocument;
$dom->preserveWhiteSpace = true;
$dom->formatOutput = false;
$dom->loadHTML($html, LIBXML_HTML_NODEFDTD);
echo $dom->saveHTML();
<html><body><div>123</div><div>456</div></body></html>
Но когда я добавляю DOMNode
параметр к выводу подмножества документа , он, кажется, игнорирует свойство formatOutput
и добавляет кучу нежелательных пробелов:
$body = $dom->getElementsByTagName('body')->item(0);
echo $dom->saveHTML($body);
<body>
<div>123</div>
<div>456</div>
</body>
Что дает? Это ошибка? Есть ли обходной путь?