我想提取html页面的body的内容以及其子节点的tagNames.我已经采取了一个这样的例子:
This is H1 tag
This is H2 tag
This is H3 tag
我已经实现了下面的php代码,它的工作正常.
$d=new DOMDocument();
$d->loadHTMLFile('file.html');
$l=$d->childNodes->item(1)->childNodes->item(1)->childNodes;
for($i=0;$ilength;$i++)
{
echo "item($i)->nodeName.">".$l->item($i)->nodeValue."".$l->item($i)->nodeName.">";
}
这个代码工作得很好,但是当我尝试使用foreach循环而不是for循环时,nodeName属性返回’#text’与每个实际的nodeName.
这是代码
$l=$d->childNodes->item(1)->childNodes->item(1)->childNodes;
foreach ($l as $li) {
echo $li->childNodes->item(0)->nodeName."
";
}
为什么这样?