1

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

1 回答 1

2

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

试试这个:

$documentTitle = $dom->getElementsByTagName('title')->item(0)->textContent;
于 2011-10-16T08:15:06.690 回答