如何显示DOMElement?

时间:2010-05-12 12:33:16

标签: php html dom

我正在使用readability的代码从网页中提取HTML。如何在页面上显示它?

$content = grabArticle($webpage);
echo $content;

ERROR => Object of class DOMElement could not be converted to string...

3 个答案:

答案 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();