
我有一个脚本,我想从HTML源代码中删除所有p HTML标签.
该脚本部分工作,因为它只删除了一些p标签,但留下了一些.
我不明白为什么会那样做.
$doc = new DOMdocument();$a = <<<FAIL<HTML><body><div ></div><p >hoo</p><p >hmmm</p><p >hmmmm</p><p align="center"></p></body></HTML>FAIL;$doc->loadHTML($a);$List = $doc->getElementsByTagname("p");foreach ($List as $l) {$l->parentNode->removeChild($l);$c++;}echo $doc->saveHTML() . $c; 脚本返回
<!DOCTYPE HTML PUBliC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-HTML40/loose.dtd"><HTML><body><div ></div><p >hmmm</p><p align="center"></p>
遗漏了两个p标签……
你能帮我找一下它跳过一些标签的原因吗?
解决方法 试试这种方式:$doc->loadHTML($a);$List = $doc->getElementsByTagname("p");while ($List->length > 0) { $p = $List->item(0); $p->parentNode->removeChild($p);} 总结 以上是内存溢出为你收集整理的DOM php按标签名称删除所有标签全部内容,希望文章能够帮你解决DOM php按标签名称删除所有标签所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)