Как я могу удалить теги элементов DOM, но оставить их содержимое?

У меня есть код PHP, который удаляет все узлы, которые имеют хотя бы один атрибут.Вот мой код:

<?php

$data = <<<DATA
<div>
    <p>These line shall stay</p>
    <p class="myclass">Remove this one</p>
    <p>But keep this</p>
    <div style="color: red">and this</div>
</div>
DATA;

$dom = new DOMDOcument();
$dom->loadHTML($data, LIBXML_HTML_NOIMPLIED);
$dom->removeChild($dom->doctype);

$xpath = new DOMXPath($dom);

$lines_to_be_removed = $xpath->query("//*[count(@*)>0]");

foreach ($lines_to_be_removed as $line) {
    $line->parentNode->removeChild($line);
}

// just to check
echo $dom->saveHTML();
?>

Как вы видите в скрипте, это текущий вывод кода выше:

<div>
    <p>These line shall stay</p>

    <p>But keep this</p>

</div>

Пока это желаемый результат:

<div>
    <p>These line shall stay</p>
    Remove this one
    <p>But keep this</p>
    and this
</div>

Как я могу это сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос