PHPのDOMDocument
クラスを使用して、 'body'要素のすべての子ノードを削除しています。 \ xamppの\ htdocsに\テスト\のdum2.php:PHPで子ノードを削除するには
$doc=new DOMDocument();
$doc->loadHTMLFile("a.html");
$wrapperDiv=$doc->createElement('div');
$wrapperDiv->setAttribute('class','wrapper');
$body= $doc->getElementsByTagName('body')->item(0);
foreach($body->childNodes as $child)
{
if($child->nodeName != "#text")
{
$wrapperDiv->appendChild($child);
$body->removeChild($child);
}
}
$body->appendChild($wrapperDiv);
$doc->saveHTMLFile('aaa.html');
$body->removeChild($child);
でそれがキャッチされない例外 Cでメッセージ 'エラーが見つかりません' と 'のDOMException' 私に
をエラーが発生しますが、次のように私のコードです:70 Stack trace:#0 C:\ xampp \ htdocs \ test \ dum2.php(70): DOMNode-> removeChild(Object(DOMElement))#1 {main}が にスローされました。C:\ xampp \ htdocs \ test \ dum2.php on line 70
私はこの問題に長い間苦労してきましたが、このDOMDocument
クラスを初めて使用したときに問題が何であるか把握できませんでした。 'body'要素には子が含まれています!
私はそれを試して、それを動作させました。子ノードはbody要素から削除されません... '$ wrapperDiv-> appendChild($ child);を削除しても... ... – samach
@Salman:子供がいるかどうかはどうやってテストしていますか? –
問題のコードを編集しました。 a.htmlファイルにdivタグとimgタグが含まれています... – samach