以下的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