Edgar Ehritt: Fehlerhafte (nicht abgeschlossene) HTML Tags entfernen

Beitrag lesen

Hallo Christian,

Dein Problem lässt sich relativ einfach mit den üblichen String-Funktionen beheben. Erst teilst Du den String mit explode() bei jedem '<' auf. Du erhältst ein array, welches Du mit einer Schleife und strpos() nach '>' durchsuchen kannst. Ist es nicht enthalten, wird das Array-Element gelöscht.

Dieses recht simple Vorgehen hat allerdings auch zwei Schönheitsfehler. Zum einen schlägt das ganze bei Kommentaren, die ihrerseits Elemente umschließen (so z. B. <!-- <br/> -->), fehl. Zum anderen kannst Du ohne erheblichen Mehraufwand nicht feststellen, wo das fehlerhaft notierte Element endet, was nach der obigen Vorgehensskizze und einem String '<img src="images/bild. ABC, 123, ' zum Verlust von Daten führt (in dem Fall ' ABC, 123, ').

Gruß aus Berlin!
eddi