我想使用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 );
}
}
}
答案 0 :(得分: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>