【发布时间】:2011-11-05 09:35:24
【问题描述】:
我使用 dom doc 从数据库中加载 html,如下所示:
$doc = new DOMDocument();
@$doc->loadHTML($data);
$doc->encoding = 'utf-8';
$doc->saveHTML();
然后我通过执行以下操作获取正文:
$bodyNodes = $doc->getElementsByTagName("body");
$words = htmlspecialchars($bodyNodes->item(0)->textContent);
我得到的单词包括<body> 中的所有内容。 <scripts> 之类的东西也包括在内。
如何删除它们并只保留真实的文本内容?
【问题讨论】:
-
你的意思是递归提取@987654325@中每个元素的文本内容?
-
是的,只有有意义的文本内容,不包括 javascripts 或其他 html cmets 等无用数据。