Как получить текст привязки с помощью DomDocument?

Скажем, у меня есть этот html:

<a href="http://example.com">Test</a> 

Я разбираю его с помощью документа dom с этим кодом:

 $dom = new DomDocument(); @$dom->loadHTML($html); $urls = $dom->getElementsByTagName('a'); 

И затем я запускаю этот код:

 foreach ($urls as $url) { //echo "<br> {$url->getAttribute('href')} , {$url->getAttribute('title')}"; foreach ($url->attributes as $a) { echo "<br>$a->name is $a->value"; } echo "<hr><br>"; } 

Когда я это делаю, я вижу только «href» как атрибут url, нет способа получить «якорный текст» (в приведенном выше случае «Test»). Как я могу получить якорный текст ссылки?

Solutions Collecting From Web of "Как получить текст привязки с помощью DomDocument?"

 foreach ($urls as $url) { $attributes = $url->attributes; echo "<br>$url->nodeValue is $attributes->href"; } 

Использовать DOMNode::$nodeValue :

 echo $url->nodeValue; 

Текст «Тест» на самом деле является узлом DOM Text, поэтому вы можете получить контент, пройдя через дочерние узлы в $ url.

Вы можете проверить это сообщение для решения: как получить innerHTML DOMNode?

 here is two line code may it help some one $html = file_get_html($link); foreach($html->find("a") as $key=>$val) { echo $val->src; echo '\n'; }