php – DOMXpath – 获取一个元素的href属性和文本值[转]
原文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']