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

admin5年前IT技术1509

原文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']

 

相关文章

centos7 通过ssh 登入系统慢的解决方法

centos7 通过ssh 登入系统慢的解决方法

前几天更新了centos7 ( 树莓派3b+硬件环境),发现 ssh登入时间很长,还以为sd 卡出现故障。通过排查不是硬件故障。而是由于ssh的配置文件开启了UseDNS功能 。服务器会先根据客户端的...

windows下安装、卸载mysql服务

windows下安装、卸载mysql服务2012年03月09日 16:30:20阅读数:52062 将下载下来的mysql解压到指定目录下(如:d:\mysql)安装服务 在命令行输入d:\...

信息

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

facebook登录按钮获取邮箱的方式

由于公司英语商城要做免注册登录,我就想到了facebook,按照官方的文档,一步一步做下去,心情很好,竟然没有坑,但是我高兴的太早了,上线测试了一下发现无法获取用户的邮箱与头像,那有什么用呢.然后就是...

dell G15游侠重装系统

https://www.dell.com/support/kbdoc/zh-cn/000176966/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%88%B4%E5%B0%94%E8%...

ASP中Connection对像封装dll解决方案

asp代码保密一直是令人头痛的问题,目前没有非常好的解决方案,无非用vb编译成dll,但工作量实在太大,于是一直苦苦寻求着另一种途径。。。  中午,突然灵感一发,“为什么不尝试用加密数据库...

发表评论    

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