DOM php удалить все теги по имени тега
У меня проблема со сценарием, который я использовал в течение некоторого времени, и он работал для меня, пока я не решил эту проблему.
У меня есть скрипт, с помощью которого я хотел бы удалить все теги p html из исходного кода html. Скрипт работает частично, потому что он удаляет только некоторые из тегов p, но оставляет некоторые из них.
Я не понимаю, почему это так.
$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;
скрипт возвращается
<!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>
оставив два тега p ...
Можете ли вы помочь мне выяснить, почему он пропускает некоторые теги