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

admin6年前IT技术2109

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

 

相关文章

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

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

win10卸载服务 在Windows 10系统

在Windows 10系统中卸载服务可以通过以下步骤进行:打开运行窗口。按下Win键+R键,输入“services.msc”后回车,打开服务列表。1在服务列表中,找到需要卸载的服务。服务名称和显示名...

KindEditor设置网址绝对路径

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

女白领发量剩3成 中医:遗传加上压力大常熬夜|女白|领发-社会资讯-川北在线

女白领发量剩3成 中医:遗传加上压力大常熬夜 江苏南京一公司女白领,今年25岁。她因遗传原因,加上平时工作压力大,经常熬夜,脱发严重,现在发量只剩30%。中医魏跃钢说,国内脱发人数非常庞大,多数是20...

汇成免费订单系统V11.5

汇成免费订单系统V11.5***********************************声明:本系统永久免费!!!***********************************官方下载...

解决Win+x打开终端提示无法找到wt.exe,无法打开windows终端

C:\Windows\System32\WindowsPowerShell\v1.0查看一下powershell是否可以打开,如果可以打开则说明系统的powershell终端还在,引用的读取路径被篡改...

发表评论    

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