如何显示DOMElement?

Hyd*_*erA 4 html php dom

我正在使用可读性代码从网页中提取HTML.如何在页面上显示?

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

ERROR => Object of class DOMElement could not be converted to string...
Run Code Online (Sandbox Code Playgroud)

小智 6

是的,迈克给出的答案是正确的。这是一个简单的例子,它采用

节点找到并创建一个新文档。

$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();
Run Code Online (Sandbox Code Playgroud)


Mar*_*c B 5

$content = grabArticle($webpage);

$newdoc = new DOM;
$newdoc->importNode($content);

$html = $newdoc->saveHTML();
Run Code Online (Sandbox Code Playgroud)

这将基于您在grabArticle中提取的节点创建一个新的完整HTML文档.如果要将其插入另一个HTML页面,则需要去除DOM插入的前导/尾随标记.


小智 5

Marc B的回答让我走上正轨,但我有类似的需求,这就是我登陆的代码:

$newdoc = new DOMDocument;
$node = $newdoc->importNode($node, true);
$newdoc->appendChild($node);
$html = $newdoc->saveHTML();
Run Code Online (Sandbox Code Playgroud)