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

admin6年前IT技术2367

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

 

相关文章

mount:is write-protected, mounting read-only解决方案

window10升级之后就遇到mount: **** is write-protected, mounting read-onlymount: cannot mount *** read-only尝试...

Android Studio bulid出现乱码的原因与解决方法

 报错是乱码没有设置,不知道是什么原因造成的,点击这个 “放大镜” 或 “双击Shift” 打开这个对话框,并在搜索框内输入 Edit Cus...

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

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

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

acme.sh 使用文档

acme.sh 使用文档

这是acme.sh的使用文档,介绍了如何使用ACME协议自动管理和获取SSL/TLS证书,包括安装、注册、手动和自动签发证书,以及自动部署和更新证书的过程。ACME是"Automatic C...

google关键词规划师的使用方法

第一步:设置国家第二步:设置语言第三部:设置上一步的同语系的关键词 如果没有第一步与第二步  会导致没有关键词提示!!!!...

王石:宁登一座山,不谋一餐饭

王石:宁登一座山,不谋一餐饭

王石:宁登一座山,不谋一餐饭。听王石讲人情堆里这些年的故事,也曾喝酒喝到胃出血,也曾“行贿未遂”,但还是愿意打造简单、透明、规范的商业王国。登珠峰与吃顿饭,二者孰难孰易?相信一...

发表评论    

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