2014-01-03 3 views
0

У меня есть пара якорных тегов, у которых нет текста, поэтому <a href="www.something.com">no text here</a>, как я могу найти эти якоря без текста?XPath найти якорь без текста?

Я попытался это, но он никогда ничего не возвращая:

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

Если вы хотите знать, нет ли узла в тексте(), вы можете использовать строку length(), которая исключает узел. В этом случае '.' является ссылкой на текущий элемент.

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

Вы можете сделать

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

Привета, нет извини, мне нужно найти якорь с no text here. – UzumakiDev

+1

См. Мою редакцию :) – PhillyNJ

+0

Спасибо, это звучит так, как будто это сработало, но это не так, я обновил свой вопрос с более подробной информацией :) – UzumakiDev

Смежные вопросы