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

admin6年前IT技术2046

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

 

相关文章

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

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

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

win10 连接L2TP win7 连接L2TP遇到的问题

win10 连接L2TP win7 连接L2TP遇到的问题

PSK共享密钥文件位置/etc/ipsec.secretswin10无法链接的问题解决方案HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Se...

传奇私服这近十几年的版权风风雨雨

      自从盛大把韩国的泡菜游戏传奇搞到中国来运营,把盛大拯救了过来,让其赚到了公司第一桶金,但是不知道是何原因,传奇的源代码版本泄露,不清楚是人...

汇成产品防伪系统V1.0

汇成产品防伪系统V1.0官方下载后台管理用户:admin后台管理密码:admin声明:本系统是商用系统,个人测试之后请及时删除!1、《添加管理员》选项,可以在本产品防伪查询系统中添加多个管理员。2、《...

IOS14.2无法连接l2tp的解决方案,iphone无法连接l2tp的解决方案,配置服务器以将 SHA-256 哈希的输出截断至 128 位

IOS14.2无法连接l2tp的解决方案,iphone无法连接l2tp的解决方案,配置服务器以将 SHA-256 哈希的输出截断至 128 位

 解决方案其实很简单:以centos 7的l2tp方案为例:修改文件/etc/ipsec.conf里的"sha2-truncbug=yes"为"sha2-tru...

错误0xC004F069非核心版本的计算机上运行slui.exe解决方法

错误0xC004F069非核心版本的计算机上运行slui.exe解决方法

Windows 10系统使用slmgr命令添加密钥时出现错误:“0xC004F069在运行Microsoft Windows非核心版本的计算机上,运行 slui.exe 0x2a 0xC00...

发表评论    

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