php - 获取 href 的 Xpath 表达式。不仅仅是 anchor 文本

标签 php xpath

尝试学习 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 />";
}

但现在我正在抓取 anchor 文本。我想要 href 部分。甚至可能两者兼而有之。我做错了什么?

最佳答案

要获取 href,您必须访问 attributes节点属性

echo $ahref->attributes->getNamedItem("href")->nodeValue . "<br />";

关于php - 获取 href 的 Xpath 表达式。不仅仅是 anchor 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11783849/

相关文章:

php - AzurePHP - 轮询 Azure 队列

php - 在 php 中从 mysql 在表行中创建链接(成员列表)

javascript - 如何使用 JavaScript 更改 select 标签的值?

php - 检测时间序列中满足特定条件的连续项目

php - XPATH - 选择节点范围

xslt - xslt中多次出现相同的路径

php - Android - 根据用户位置从数据库获取结果

javascript - XPath 还是 querySelector?

java - 从 html 文档中解析 href 并通过 xpath 求值返回空指针异常

javascript - 如何通过selenium获取ExtJS combobox的选中值?