我想使用PHP DOM Document删除不包含任何属性的div标签。 但是,我希望能够保留所有内部HTML内容。

例:

<div>
    <div>
        <div id="test">
            Testing...
        </div><!-- end #test -->
    </div>
</div>

结果:

<div id="test">
    Testing...
</div><!-- end #test -->

这就是我的想法,但似乎无法让它完成我想要的事情。 此方法似乎是删除所有内容,而不是没有属性的<div>标记。

# Remove blank div wraps
if ( $div_tags = $dom->getElementsByTagName( 'div' ) ) {

    $blank_divs = array();

    foreach ( $div_tags as $div_tag ) {

        if ( ! $div_tag->hasAttributes() ) {
            $blank_divs[] = $div_tag;
        }

    }

    if ( ! empty( $blank_divs ) ) {

        foreach ( array_reverse( $blank_divs ) as $blank_div ) {
            $blank_div->parentNode->removeChild( $blank_div );
        }

    }

}

#1楼 票数:0

如果您知道需要删除多少次迭代,则可以执行以下操作:

var icount = 2; // number of iterations.
for(i=0; i<icount; i++){
    var innerElement = $("#test").contents();
    $("#test").replaceWith(innerElement );
}

如果您不了解自己的烦恼,则只需拥有一个可识别的父母,例如:

<div id="container">
  <div>
    <div id="test">
        Testing...
    </div><!-- end #test -->
  </div>
</div>

<script>
  var innerElement = $("#test").contents();
  $("#container").replaceWith(innerElement );
</script>

  ask by Michael Ecklund translate from so

未解决问题?本站智能推荐:

2回复

用PHP解析HTML DOM

我想使用PHP将以下HTML中的记录读入变量。 做这个的最好方式是什么? 示例HTML代表两个记录。 记录1的结果:
3回复

通过DOM解析HTML表

我相信页面的标记是我遇到的问题的一部分,所以我认为我需要发布源代码以及JSFiddle JSFiddle和原始GIS页面 我正在尝试从底部的表格中获取诸如名称:和地址:的信息。 尝试解决方案: 我编写了以下代码,希望能看到所有表数据,但是我要从中获取数据的表却什么也没有返回。
2回复

使用DOM的HTML表解析

我有一个HTML表 我的解析代码是 要打印,我希望它们与其他行一起重复,如我需要的输出中所示。 我想要整个东西放在一个数组中,以便我可以将其插入数据库中 谁能指导我或给我任何提示,以便我可以这样做
1回复

如何在java中将字符串解析为HTML DOM

我的 java 程序将网页的内容存储在字符串sb ,我想将该字符串解析为 HTML DOM。 我怎么做?
6回复

如何使用标准库在python中解析格式错误的HTML

python中内置了很多html和xml库 ,很难相信不支持实际的HTML解析。 我已经为这个任务找到了很多很棒的第三方库,但是这个问题是关于python标准库的。 要求: 仅使用Python标准库组件(任何2.x版本) DOM支持 处理HTML实体( &a
1回复

如何使用simple_html_DOM查找标签

我试图将simple_html_dom与php一起使用此标签解析网页: 其中data-tn-component =“ organicJob”是要基于其解析的标识符,我似乎无法以simple_html_dom可以识别的方式指定文本。 我已经尝试过一些方法: 但是解析器没有找到
1回复

如何使用simplehtmldom设置表内容

我正在使用一个名为' simplehtmldom '的解析库。 我要做的就是提取表格单元格的文本内容。 就这样! 似乎很简单...我尝试过的所有操作都导致整个FRIGIN页面被转储,因为显然所有原语都向上,向下和横向遍历dom树。 这是我想要做的一个简单的例子: 我已经尝试过使用
2回复

PHP DOM遍历HTML节点以获得超链接标记

我发布了一个SO问题: PHP DOM遍历HTML节点和childnode 有人请给我一个解决方案。 但是,我正在解析的数据实际上具有几个超链接标记,如下所示: 我期望的输出是只为目标为"_top"的超链接标签选择href (例如'12345')。 我当前的代码选择表中的所