如何使用标签的 id 去除标签及其所有内部 html? [英] How to strip a tag and all of its inner html using the tag's id?

查看:72
本文介绍了如何使用标签的 id 去除标签及其所有内部 html?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下 html:

<身体>bla bla bla bla<div id="myDiv">更多文字<div id="anotherDiv">还有更多文字

布拉布拉布拉

我想删除从

开始直到结束

的所有内容.我该怎么做?

解决方案

With nativeDOM

$dom = 新的 DOMDocument;$dom->loadHTML($htmlString);$xPath = new DOMXPath($dom);$nodes = $xPath->query('//*[@id="anotherDiv"]');if($nodes->item(0)) {$nodes->item(0)->parentNode->removeChild($nodes->item(0));}echo $dom->saveHTML();

I have the following html:

<html>
 <body>
 bla bla bla bla
  <div id="myDiv"> 
         more text
      <div id="anotherDiv">
           And even more text
      </div>
  </div>

  bla bla bla
 </body>
</html>

I want to remove everything starting from <div id="anotherDiv"> until its closing <div>. How do I do that?

解决方案

With native DOM

$dom = new DOMDocument;
$dom->loadHTML($htmlString);
$xPath = new DOMXPath($dom);
$nodes = $xPath->query('//*[@id="anotherDiv"]');
if($nodes->item(0)) {
    $nodes->item(0)->parentNode->removeChild($nodes->item(0));
}
echo $dom->saveHTML();

这篇关于如何使用标签的 id 去除标签及其所有内部 html?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆