Hallo Felix,
ich glaube, Du hast da etwas übersehen...
$scripts = $dom->getElementsByTagName('script'); foreach($scripts as $item) { $item->parentNode->removeChild($item); }
Ist nicht gerade foreach der Spezialiterator, der auf derartige Dinge Rücksicht nimmt? Er geht nicht nach den Indexen vor, sondern behandelt die Liste als verkettete Liste. Wenn da ein Element "rausgeschossen" wird, werden die beiden losen Enden wieder zusammengebunden. Das ist für die LiveNodeList entsoprechend implementiert.
Und wie wäre es überhaupt mit
$dom = new DomDocument();
$dom->loadHTML( ... );
$textcontent = $dom->textContent;
echo htmlspecialchars($textcontent);
?
FrageKlaus