Andreas Dölling: RegExp - Problem mit lookahead assertion

Beitrag lesen

Hallo,

ich habe einen HTML-Text, den ich in zwei Hälften trenne.
Das klappt mittlerweile (auch dank Forumshilfe) gut, sprich: am Ende von Teil 1 ist kein Wort oder Tag abgeschnitten.

Jetzt kann es allerdings noch sein, daß ein Tag am Ende der ersten Texthälfte nicht geschlossen ist.

Beispiel:
[<p>]Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p><p class="divider"></p><p>Integer pulvinar dolor a augue. Sed ac urna. Suspendisse <span class="foo">potenti.[</p>]

Hier ist das SPAN-Element am Ende nicht geschlossen, da der Rest in der zweiten Texthälfte sitzt.
(Anmerkung: die äußeren P-Tags setze ich erst ganz am Ende um die Texthälfte.)

Ich versuche nun dieses nicht geschlossene SPAN-Element so zu erwischen:
/<([^>\s/]+)(\s+[^>]*)>.*(?!</\1>)$/smU

Leider aber matcht dieser Ausdruck dies:
0 = <p class="divider"></p><p>
1 = p
2 = class="divider"

Das verstehe ich nicht.
Mein Ausdruck sagt doch: suche ein <foo ...>...., dem bis zum Ende des Textes kein </foo> folgt.
Oder?
Der Ausdruck sollte doch eigentlich das SPAN-Element matchen.

Aber ich fürchte, daß ich hier einen gewaltigen Denkfehler in meinem Ansatz habe - und hoffe natürlich mal wieder auf einen hilfreichen Schlag auf den Hinterkopf von Euch.
;)

Thanx und ciao,
Andreas

--
"Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)