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

admin6年前IT技术2087

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

 

相关文章

树莓派安装软件

 apt-get install ...

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

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

Windows快速批量删除大量文件的命令

Windows服务器或普通操作系统中经常会遇到很多生成的临时文件需要删除,如果需要删除的文件夹中数目很多,且文件很巨大时,如果通过鼠标选择文件夹再直接删除会响应得非常慢,特别是文件数量也巨大时,Win...

火车头正则过滤emoji表情

由于火车头是C#开发的,所以大家写不了正则,就要在网上搜索C#正则过滤emoji表情 正则表达式如下\p{Cs}这个比较不错下面2个作为补充(\ud83c[\udf00-\udfff])|(...

Etsy店铺被封得原因

Etsy店铺被关闭一般有以下几个原因: 1,一个电脑登陆了2个以上的店铺,这样很快就会被关闭的。 2,两个电脑共用一个IP地址,这个被关闭的可能性很高,最好不要这样做。 3,不同的etsy店铺共...

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

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

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

发表评论    

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