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

admin6年前IT技术2275

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

 

相关文章

让MobaXterm能自动显示服务器的cpu与内存使用情况

 Settings→SSH→勾选Remote-monitoring...

亚马逊“傲娇”!拒绝与PayPal合作

一个平台如果没有自己的支付系统,是一个平台最大的悲剧,ebay这几年不行了,其他原因不好说,但是他长期使用paypal的支付接口,就说明是一大败笔,长期泄露自己的会员交易数据!!!! 亚马逊...

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

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

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

eWebEditor不支持IE-IE8-IE7-火狐-遨游的解决方法

昨天ie8正式发布了,偶也去下载了一个,感觉很爽, 还在美的时候,突然发现很多网页都出问题,更可气的是自己的网站编辑器也不管用了,所有的按钮都不管用,即使是别的浏览器也都不管用,我这叫一个汗。于是就去...

关于jquery升级至1.8版本之后的兼容问题Uncaught TypeError: $(...).size is not a function

关于jquery升级至1.8版本之后的兼容问题Uncaught TypeError: $(...).size is not a function

之前也遇到过这种问题Uncaught TypeError: $(...).size is not a function  控制台报错如上图,打开Frame.js可以看到里面定义大小...

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

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

发表评论    

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