Я хотел бы использовать 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 );
}
}
}