首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP :如何删除DOMDocument?

PHP :如何删除DOMDocument?
EN

Stack Overflow用户
提问于 2012-10-18 20:48:10
回答 2查看 4.1K关注 0票数 2

下面是我的代码:

代码语言:javascript
复制
$doc = new DOMDocument();
$doc->loadHTML(stripslashes($sContent));

// si le meta existe alors il y a un sondage
if($doc->getElementById('meta') != null){
    $nombreMeta = $doc->getElementById('meta')->nodeValue;
    $numSondage = $doc->getElementById('meta')->getAttribute('class');
    for($i=0;$i<$nombreMeta;$i++){
        $meta = $meta."0,";
    }
    $meta = substr($meta,0,-1); 
    $divMeta = $doc->getElementById('meta');
    $oldchapter = $doc->removeChild($divMeta);
    $oHead = $doc->getElementsByTagName('head')->item(0);
    $oMeta2 = $doc->createElement('meta');
    $oMeta2->setAttribute('name',"metapoll".$numSondage);
    $oMeta2->setAttribute('content',$meta);
    $oHead->insertBefore($oMeta2, $oHead->firstChild);
    $sContent = $doc->saveHTML();
}

我正在尝试用id="meta" ($doc->getElementById('meta'))删除div,但我不知道为什么它不能工作。

我测试了很多东西,比如:

代码语言:javascript
复制
$metmet = $doc->documentElement;
$divMeta = $metmet->getElementById('meta')->item(0);
$metmet->removeChild($divMeta);

但它不起作用。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-18 20:51:53

removeChild方法从节点中删除一个子元素。div不能是document对象的子元素,只能是<html> (在HTML文档中)。

找到要删除的div之后,需要获取它的父节点。然后在这上面调用removeChild

代码语言:javascript
复制
$divMeta->parentNode->removeChild($divMeta)
票数 1
EN

Stack Overflow用户

发布于 2012-10-18 20:51:44

下面的代码应该可以工作:

代码语言:javascript
复制
$divMeta = $doc->getElementById('meta');
$divMeta->parentNode->removeChild($divMeta);

  • removeChild
  • parentNode
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12955079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档