getElementsByTagName标题与DOMNodeList对象一起返回


getElementsByTagName title is coming back with DOMNodeList Object

我们的脚本使用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;

getElementsByTagName返回一个DOMNodeList对象。您需要列表中第一个条目的文本内容(应该只有一个页面标题)

试试这个:

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