我在PHP中使用DOMDocument
类删除了所有'body'元素的子节点。我的代码如下如何在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);
它给了我错误
未捕获的异常 '抛出:DOMException' 有消息 C '未找到错误':\ XAMPP \ htdocs中\测试\ dum2.php :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'元素确实包含孩子!
我试过了,它的nt工作。子节点不会从body元素中移除...即使我删除'$ wrapperDiv-> appendChild($ child);'... – samach
@Salman:你如何测试是否有孩子? –
我编辑了有问题的代码。 a.html文件包含div和img标签,... – samach