导入 html 节点时似乎无法让 PHP appendChild 正常工作



我正在尝试从导入的html摘要中附加一个节点(带有子节点)到体内的现有html dom文档。我一直在尝试将节点附加到正确位置的时间。

这是我的代码:

$lastnode = $loaded_file->getElementsByTagName('body')->item(0)->lastChild;
$newnode = $editor_doc->getElementsByTagName('body')->item(0)->firstChild;
$newnode = $loaded_file->importNode($newnode, True);
$lastnode->appendChild($newnode);

$loaded_file是使用LoadHTML加载的HTML文件。 $editor_doc是使用LoadHtml

的HTML摘要也加载为DOMDOCUMENT

输出如下:

[Entire document of $loaded_file ending with </html>]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>1974
[the correct html snippet]
</p></body></html>

2问题:1)片段位于错误的位置。我以为它是作为身体标签的孩子附加的,我做错了吗?2)我不知道额外的!Doctype,HTML,Body P和1974年的文字来自哪里。我的代码中没有什么可以添加的。当我在任何东西上使用附录时,似乎都会出现。

我在做什么错?

预先感谢!

修复了它。显然,而不是使用loadHTML(readfile($filename)),而是必须使用loadHTMLfile($filename)),而似乎一切都正确地加载并非如此,我不确定为什么。但是一旦我改变了一切似乎正常工作。

最新更新