php – DOMXpath – 获取一个元素的href属性和文本值[转]

admin6年前IT技术2353

原文https://stackoverflow.com/questions/6820429/domxpath-get-href-attribute-and-text-value-of-an-a-element
       http://www.voidcn.com/article/p-cjeefole-btv.html 

 

所以我有一个这样的 HTML字符串:

 

 

<td class="name">   <a href="/blah/somename23123">Some Name</a></td><td class="name">   <a href="/blah/somename28787">Some Name2</a></td>

使用XPath我可以使用此Xpath查询获取href属性的值:

 

$domXpath = new \DOMXPath($this->domPage); $hrefs = $domXpath->query("//td[@class='name']/a/@href"); foreach($hrefs as $href) {...}

并且获得文本值更容易,如下所示:

 

// Xpath auto. strips any html tags so we are  // left with clean text value of a element $domXpath = new \DOMXPath($this->domPage); $names = $domXpath->query("//td[@class='name']/"); foreach($names as $name) {...}

现在我很想知道,如何组合这两个查询来获取两个值只有一个查询(如果这样的话甚至可以吗?).

 

 

 

//td[@class='name']/a

然后用nodeValue和getAttribute(‘href’)的属性提取文本.

除此之外,您可以将Xpath查询与Union Operator |组合所以你可以使用

 

//td[@class='name']/a/@href|//td[@class='name']

 

相关文章

腾讯企业邮箱不能发送邮件到gmail的解决方案

您好,由于收件方邮箱收信策略调整,要求发件方的域名需设置SPF记录、DKIM记录、DMARC记录,请登录域名管理后台设置以下解析后再发信,具体设置方法可参考: 1、SPF记录设置方法:什么是SPF?如...

centos7 Firewall防火墙开启80端口[转]

 centos7 默认是FirewallD 提供支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具,利用FirewallD开启80端口操作如下:开启80端口fi...

信息

支付宝:帐号:zhoukouhu@126.com户名: 周扣虎支付宝收款主页:https://me.alipay.com/huicheng 招商银行帐号:6225 8821 1195 501...

本人安装Magento2.4.6安装踩坑大集合

1.痛点1 composer 的版本查看命令输入错误,导致我以为我安装失败 composer --version或者 composer -Vcomposer create-proj...

VB生成的ASP封装access数据库dll代码

 这篇文章以VB生成的DLL封装ASP代码来连接数据库(以Access数据库为例)。一般情况下我们在用ASP连接Access的数据库时通常都会进行如下的操作 '//Proconn....

openclaw安装教程

http://127.0.0.1:18789,在设置里填 API。重新运行孵化命令:在终端输入 openclaw hatchWindows10 中国大陆环境 从零安装【原版 OpenClaw】+配置N...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。