Hallo Heizer,
Vielleicht verstehst du mein Problem falsch. Wenn ein bestimmter Teil mehrere Auszeichnungen hat, tritt das problem nicht auf. Sondern dann, wenn sich verschiedene Auszeichnungen überschneiden. Also so:
/_wort1 *wort2/ wort3* wort4_
Du hast recht, ich hatte das missverstanden
Die einzige Lösung, die mir im Moment einfällt (vielleicht ist das auch wirklich das Beste) ist, einfach immer jedes Wort mit den Entsprechenden Tags zu versehen. Und dann alle nicht benötigten herauszuschneiden:
Ich finde deine Loesung ziemlich clever auf den ersten Blick, moechte aber zu bedenken geben, dass der User vielleicht sowas abliefert "/_wort1 *wort2/ wort3* wort4_", also mit mehr Whitespaces als erwartet. Dann wird Deine Loesung, die "</i> <i>" usw zu eliminieren nicht klappen. Insofern wuerde ich erstmal mit einem preg_replace("/ +/", ' ', $text) in dieser Hinicht fuer Vereinheitlichung sorgen.
Danke für den Denkanstoß
Manchmal kommt man halt eben auch durch Missverstaendnisse weiter.
Gruß,
Dieter