尝试学习它的xpath表达式。我找到了一个代码片段,并稍微调整了一下。我想要做的是获取页面上的每个链接。
$baseurl = "http://www.example.com";
$html = file_get_contents($baseurl);
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$ahrefs = $xpath->query('//a');
foreach ($ahrefs as $ahref) {
echo $ahref->childNodes->item(0)->nodeValue . "<br />";
}
但现在我抓住了锚文本。我想要href
部分。也许两者都有。我做错了什么?
答案 0 :(得分:4)
要获取href,您必须访问节点的attributes属性
echo $ahref->attributes->getNamedItem("href")->nodeValue . "<br />";
答案 1 :(得分:4)
使用强>:
//a/@href
无需额外的代码(除了评估此表达式外)。
答案 2 :(得分:1)
echo $ahref->getAttribute('href') . "<br />";