Описание текущей ситуации:
У меня есть папка, полная страниц (папка-папка), каждая страница внутри этой папки имеет (помимо прочего) div с id="short-info"
.
У меня есть код, который вытаскивает все <div id="short-info">...</div>
из этой папки и отображает текст внутри него с помощью textContent
(который для этой цели такой же, как nodeValue
)
Код, который загружает divs:
<?php
$filename = glob("pages-folder/*.php");
sort($filename);
foreach ($filename as $filenamein) {
$doc = new DOMDocument();
$doc->loadHTMLFile($filenamein);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("*//div[@id='short-info']");
foreach ($elements as $element) {
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->textContent;
}
}
}
?>
Теперь проблема заключается в том, что если страница, которую я загружаю, имеет дочерний элемент, например изображение: <div id="short-info"> <img src="picture.jpg"> Hello world </div>
, вывод будет только Hello world, а не изображение, а затем Hello мир.
Вопрос:
Как сделать код отображающим полный html внутри div id = "short-info", включая, например, этот образ, а не только текст?