我正在使用readability的代码从网页中提取HTML。如何在页面上显示它?
$content = grabArticle($webpage);
echo $content;
ERROR => Object of class DOMElement could not be converted to string...
答案 0 :(得分:5)
$content = grabArticle($webpage);
$newdoc = new DOM;
$newdoc->importNode($content);
$html = $newdoc->saveHTML();
这将基于您在grabArticle中提取的节点创建一个新的完整HTML文档。如果您将其插入另一个HTML页面,则需要去除DOM插入的前导/尾随标记。
答案 1 :(得分:5)
Marc B的回答让我走上正轨,但我有类似的需求,这就是我登陆的代码:
$newdoc = new DOMDocument;
$node = $newdoc->importNode($node, true);
$newdoc->appendChild($node);
$html = $newdoc->saveHTML();
答案 2 :(得分:4)
是的,Mike给出的答案是正确的。这是一个简单的示例,它可以找到
节点并创建一个新文档。
$newdoc = new DOMDocument;
$nodes = $oldoc->getElementsByTagName('p');
foreach($nodes as $node)
{
$newnode = $newdoc->importNode($node, true);
$newdoc->appendChild($newnode);
}
//print the new html
$html = $newdoc->saveHTML();