Я хочу извлечь содержимое тела страницы html вместе с tagNames своего дочернего элемента. Я привел пример html, например:
<html>
<head></head>
<body>
<h1>This is H1 tag</h1>
<h2>This is H2 tag</h2>
<h3>This is H3 tag</h3>
</body>
</html>
Я реализовал PHP-код, как показано ниже, и его работоспособность.
$d=new DOMDocument();
$d->loadHTMLFile('file.html');
$l=$d->childNodes->item(1)->childNodes->item(1)->childNodes;
for($i=0;$i<$l->length;$i++)
{
echo "<".$l->item($i)->nodeName.">".$l->item($i)->nodeValue."</".$l->item($i)->nodeName.">";
}
Этот код работает отлично, но когда я попытался сделать это, используя foreach loop вместо цикла, свойство nodeName возвращало "#text" с каждым фактическим именем node. Вот код
$l=$d->childNodes->item(1)->childNodes->item(1)->childNodes;
foreach ($l as $li) {
echo $li->childNodes->item(0)->nodeName."<br/>";
}
Почему так?