【问题标题】:XPath to find anchor with no text?XPath 找到没有文本的锚点?
【发布时间】:2014-01-04 07:53:23
【问题描述】:

我有几个没有文字的锚标签,所以<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/>

【问题讨论】:

    标签: xpath


    【解决方案1】:

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

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

    你可以的

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

    【讨论】:

    • 嗨,不抱歉,我需要找到 这里没有文字的锚点。
    • 谢谢,这听起来应该有效,但事实并非如此,我已经用更多细节更新了我的问题 :)
    • 啊,搞定了,我没注意,正在回显错误的变量...叹息,我需要睡觉。谢谢。
    猜你喜欢
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    相关资源
    最近更新 更多