Hi a²,
Leider meint es meine Expression zu gut
Du hast (vermutlich) das altbekannte Problem mit der Gefräßigkeit von Regulären Ausdrücken - merke dir: Ein regulärer Ausdruck will immer auf so viel passen, wie nur irgendwie möglich!
Es gibt aber eine Option, wie du dieses Verhalten ändern kannst, sodass der RegEx so wenig wie möglich nimmt, wenn du PCRE RegEx nimmst, geht das mit dem Modifier U.
Allerdings ist mir für eregi_replace() keine Möglichkeit bekannt, wie du dort das U Modifier mit übergeben kannst, ich würde dir deshalb dringend empfehlen, die "Vollversion" von eregi_replace, nämlich preg_replace() zu verwenden. [1]
Dazu musst du deinen regulären Ausdruck zwischen zwei / setzen und jedes / im RegEx mit einem \ escapen, das gibt dann:
/<dein RegEx>/
Damit jetzt nicht auf Groß- und Kleinschreibung geachtet wird, hängst du ein i an und für die Ungefräßigkeit ein U:
/<dein RegEx>/iU
Probier das einfach mal und melde dich dann hier noch mal.
MfG, Dennis.
[1] Das PHP Manual empfiehlt übrigens die Verwendung der PCRE Funktionen gegenüber der POSIX-Funktionen (dazu gehört eregi_replace u.a.).