XPath找到没有文字的锚?

时间:2014-01-03 22:53:45

标签: xpath

我有几个没有文字的锚标签,所以<a href="www.something.com">no text here</a>,如何找到没有文字的锚?

我试过这个,但它什么都没有回复:

global $post;
    $doc = new DOMDocument();
$doc->loadHtml($post->post_content);
$xpath = new DOMXPath($doc);
$nodes = $xpath->query('//a[string-length(.) = 0]');
foreach($nodes as $node) {
    $remove_elements[] = $node->getAttribute('href');
}
return $remove_elements;

html看起来像这样。

<br/>
<br/>
<a href="http://www.riverisland.com/women/sale/accessories/Black-and-white-faux-fur-collar-646464" target="_blank"></a>
<br/>
<br/>

1 个答案:

答案 0 :(得分:1)

如果您想知道某个节点是否没有text(),您可以使用除节点之外的string-length()。在这种情况下 '。'是对当前元素的引用。

<a href="#"></a>

你可以做到

//a[string-length(.) = 0]