DOM PHP löschen Sie alle Tags nach Tag-Namen

Ich habe ein Problem mit einem Skript, das ich seit einiger Zeit verwende, und es hat bei mir funktioniert, bis ich auf dieses Problem gestoßen bin.

Ich habe ein Skript, mit dem ich alle HTML-Tags aus einem HTML-Quellcode löschen möchte. Das Skript funktioniert teilweise, weil es nur einige der p-Tags entfernt, einige jedoch weglässt.

Ich verstehe nicht, warum das so ist.

$doc = new DOMDocument();

$a = <<<FAIL
<html><body>
<div style="clear:both"></div>
<p class="articletitle">hoo</p>
<p class="articletext">hmmm</p>
<p class="articletext">hmmmm</p>
<p align="center"></p>
</body></html>
FAIL;

$doc->loadHTML($a);
$list = $doc->getElementsByTagName("p");

foreach ($list as $l) {
$l->parentNode->removeChild($l);
$c++;
}
echo $doc->saveHTML() . $c;

Das Skript kehrt zurück

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<div style="clear:both"></div>

<p class="articletext">hmmm</p>

<p align="center"></p>

zwei p-Tags weglassen ...

Können Sie mir bitte helfen, herauszufinden, warum einige Tags übersprungen werden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage