заголовок getElementsByTagName возвращается с объектом DOMNodeList - PullRequest
1 голос
/ 16 октября 2011

Наш скрипт использует dom для анализа всех тегов a из документа, затем перебирает дочерние узлы и извлекает информацию, которая прекрасно работает, вот как начинается код

@$dom->loadHTML($str);
$documentLinks = $dom->getElementsByTagName("a");

Часть петли

$this->count]['href']     = strip_tags($documentLink->getAttribute('href'));

Теперь мне нужно, чтобы тег заголовка каждой страницы просматривался, поэтому я думаю, что смогу сделать

$documentTitle = $dom->getElementsByTagName("title");
$documentLinks = $dom->getElementsByTagName("a");

Затем добавьте это в цикл / массив, чтобы получить заголовок документа, но он возвращается с "[title] => DOMNodeList Object ()" Как я могу включить тег заголовка в цикл, который проходит через теги / потомок узлы?

$this->count]['title']  = $documentTitle;

1 Ответ

2 голосов
/ 16 октября 2011

getElementsByTagName возвращает объект DOMNodeList . Требуется текстовое содержимое первого (должно быть только одного заголовка страницы) элемента в списке.

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

$documentTitle = $dom->getElementsByTagName('title')->item(0)->textContent;
...