以下的DOMDocument的結果()調用爲什麼這些跨度不會被domdocument()視爲節點?
$html = <<<EOT
<div class="list_item">
<div class="list_item_content">
<div class="list_item_title">
<a href="/link/goes/here">
INFO<br />
<span class="part2">More Info</span><br />
<span class="part3">Etc.</span>
</a>
</div>
</div>
EOT;
libxml_use_internal_errors(false);
$dom = new DOMDocument();
$dom->loadhtml($html);
$xpath = new DOMXPath($dom);
$titles_nodeList = $xpath->query('//div[@class="list_item"]/div[@class="list_item_content"]/div[@class="list_item_title"]/a');
foreach ($titles_nodeList as $title) {
$titles[] = $title->nodeValue;
}
echo("<pre>");
print_r($titles);
echo("</pre>");
?>
是
Array
(
[0] =>
INFOMore InfoEtc.
)
爲什麼包含在結果中的一個元件的內部這兩個跨度數據,當我沒有在路徑中指定這些跨度?我只感興趣的是直接檢索a元素中包含的數據,而不是a元素內跨度中包含的信息。我想知道我做錯了什麼。
SO確實在語法不好的工作突出存在。 – Mike
@Mike是的,語法突出顯示器總是扼殺在PHP中的HEREDOC字符串。 –
@Michael修改它至少突出顯示正確(雖然不能真正修復白色) – cwallenpoole