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

admin6年前IT技术1997

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

 

相关文章

KindEditor设置网址绝对路径

 KindEditor 4.1.2版本,在上传图片的时候 设置为绝对路径被这个问题困扰了很久,最终搞定,竟然是如此之简单。   方法如下:   1、打...

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

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

设置apach多站点的配置方法

 Include conf/vhost/*.conf...

[转]想学流量,有哪些值得推荐的【优质】渠道?

[转]想学流量,有哪些值得推荐的【优质】渠道?

在当今的互联网中,流量的成本越来越贵,获取客户的价格也越来越高,所有做互联网生意的人,都要时刻思考的两点是:第一:我的客户,我的产品曝光要从哪里来?第二:如何以最低的成本,获取有效的客户?当所有人的流...

php缓存技术

<?php for($i=0;$i<=5;$i++){echo $i."<br/>";ob_flush();//这里是刷新php缓冲区flush();//这...

哈佛大学凌晨4点半的景象,让你明白什么是距离

哈佛大学凌晨4点半的景象,让你明白什么是距离

       哈佛老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候任何场合下都能得心应手并且得到应有的评价,那么你在哈佛的学习期间...

发表评论    

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