Ссылки на XML-ссылки Xpath

Я использую этот пример для получения ссылок с веб-сайта:

http://www.merchantos.com/makebeta/php/scraping-links-with-php/

$xpath = new DOMXPath($dom); $hrefs = $xpath->evaluate("/html/body//a"); for ($i = 0; $i < $hrefs->length; $i++) { $href = $hrefs->item($i); var_dump($href); $url = $href->getAttribute('href'); echo "<br />Link stored: $url"; } 

Это работает хорошо; получение всех ссылок; но я не могу получить фактическое «название» ссылки; например, если у меня есть:

 <a href="www.google.com">Google</a> 

Я хочу также получить термин «Google».

Я немного потерян и совершенно новый для xpath.

Попробуй это:

 $link_title = $href->nodeValue; 

Вы ищете «nodeValue» в Textnode внутри узла «a». Вы можете получить это значение с помощью

 $title = $href->firstChild->nodeValue; 

Полный рабочий пример:

 <?php $dom = DomDocument::loadHTML("<html><body><a href='www.test.de'>DONE</a></body></html>"); $xpath = new DOMXPath($dom); $hrefs = $xpath->evaluate("/html/body//a"); for ($i = 0; $i < $hrefs->length; $i++) { $href = $hrefs->item($i); $url = $href->getAttribute('href'); $title = $href->firstChild->nodeValue; echo "<br />Link stored: $url $title"; } 

Печать:

Ссылка сохранена: http://www.test.de DONE