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

admin6年前IT技术2412

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

 

相关文章

关于jquery升级至1.8版本之后的兼容问题Uncaught TypeError: $(...).size is not a function

关于jquery升级至1.8版本之后的兼容问题Uncaught TypeError: $(...).size is not a function

之前也遇到过这种问题Uncaught TypeError: $(...).size is not a function  控制台报错如上图,打开Frame.js可以看到里面定义大小...

Etsy店铺被封得原因

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

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

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

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

docker的感悟

1.容器是类实例化的对象,镜像是静态的类2.查看正在运行的容器docker ps ,查看所有容器包含停止与暂停的docker ps;3.拉去官方镜像:docker pull 镜像名称4.docker...

centos7 配置秘钥登录

默认情况下, 我同时允许密码和秘钥登录, 所有不用改配置文件.第一步, 先 生成秘钥对, ssh-keygen, 一路回车即可.然后在 ~/.ssh 目录下会发现两个文件...

phptool phpfmt这两个插件会导致sublime出问题

 phptool 会让sublime产生垃圾文件phpfmt会导致sublime出死机,但是他能修正错误的PHP写法,要区别对待他,但是一个文件页面代码多了,他会导致sublime死机...

发表评论    

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