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

admin6年前IT技术2234

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

 

相关文章

excel参照另一列筛选数据的函数

=IF(ISERROR(VLOOKUP(D7,F:F,1,0)),D7,1) ISERROR防止报错 ...

WireGuard 安装脚本

WireGuard 安装脚本

 执行结束后,会输出一个二维码,可直接用 WireGuard App 扫描导入。4. 客户端配置文件路径/etc/wireguard/client.conf可复制到 Windows、Mac、...

win10删除远程桌面记录

HKEY_CURRENT_USER \ Software\Microsoft  \ Terminal ServerClientDefault...

解决方案2
打开的本地组策略

Win10远程连接的凭据不工作的解决方法

 把远程桌面工具的本地资源的打印机与剪贴板的勾勾取消解决方案2打开的本地组策略在右侧打开的窗口中双击“网络访问:本地账户的共享和安全模型”一项在打开的属性窗口中,我们...

我最佩服的程序员,他是一个有想法的程序员,不是一个堆代码的程序员

我最佩服的程序员  尤雨溪:黑客,也是画家  你很难定义尤雨溪属于哪种人才,喜欢漫画,又是HTML 5高手,他是“黑客”与“画家”。  尤雨溪用两天时间...

Adobe  2025 破解方法

Adobe 2025 破解方法

Adobe  2022 破解方法 Adobe  2023 破解方法Adobe  2024 破解方法Adobe&...

发表评论    

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