我想提取html頁面正文的內容以及它的子標記名稱。我已經邁出了例如HTML這樣的:php DOMDocument nodeName屬性返回'#text'與nodeName
<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循環,而不是for循環中,nodeName屬性返航「#text」與每一個實際節點名稱。 這裏是代碼
$l=$d->childNodes->item(1)->childNodes->item(1)->childNodes;
foreach ($l as $li) {
echo $li->childNodes->item(0)->nodeName."<br/>";
}
爲什麼這麼說?
發現你可以通過nextElementSibling解決下一代DOM家族的爭吵!該死的呃和<! - 評論 - > – Leo 2016-05-11 00:43:01