2017-02-25 5 views
1

インポートされたhtmlスニペットからノードに既存のhtml DOMドキュメントを追加しようとしています。私はノードを正しい場所に追加しようとしている時を過ごしていました。ここでhtmlノードをインポートするときにPHP appendChildが正しく動作しないようです。

は私のコードです:

$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を使用してのDOMDocumentとしてロードhtmlファイルです。 $editor_docもloadHTML

出力を使用してのDOMDocumentとしてロードHTMLスニペットである以下の通りである:

[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、本文p、1974のテキストがどこから来ているのか分かりません。私のコードにはそれを追加するものは何もありません。私が何かの上でappendChildを使用すると、表示されるようです。

私は間違っていますか?

ありがとうございます!

答えて

0

修正済みです。明らかにloadHTML(readfile($filename))の代わりにloadHTMLfile($filename))を使用する必要がありますが、すべてが正しく読み込まれているように見えますが、それは確かではありません。しかし、一度私はすべてが正しく動作するように思った変更しました。

関連する問題