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

admin5年前IT技术1399

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

 

相关文章

不同思想管理不同员工

不同思想管理不同员工普通员工最重要的是有较强的责任心,能干好交给他们必须完成的基础工作。这些员工也许只要求企业能给一个较高的收入、工作相对稳定且尽可能少地承担各种风险,不能要求他们对企业绝对的忠诚。这...

MYSQL带存储过程备份命令

命令中要加-R mysqldump -u root -p -R 数据库名称 > 备份文件名.sql...

解决Centos7系统更新时报错:Could not resolve host: mirrorlist.centos.org; 未知的错误

1、背景        centos7系统在执行:sudo yum update,发生错误;1.1、错误描述       ...

L2TP服务器,同一个局域网只能连接一台客户端的解决方案

 l2tp同一台服务器, 在一个局域网多个账号不能同时登陆的解决方案原因:由于同一个局域网交换机,一般都是一层交换机,承载不了1个以上的IPSEC的加密解决方案:关闭IPSEC加密就可以多账...

怎么使用UltraISO制作Win11启动盘?

怎么使用UltraISO制作Win11启动盘?

操作方法:  首先需要下载好windows11 的镜像文件  准备好一个8G以上的U盘,插入电脑,打开ultraiso软件,点击文件,然后打开镜像文件,之后点击启动,点击写入硬盘镜像  之后,会跳转出...

设置nginx不限制域名的访问

关键是listen 80 default;...

发表评论    

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