Es liegt an der Verschachtelung von BBCode.
In dem Moment, wo mehr als 1 BBCode verwendet wird, also so wie unten im Text, wird der mit angezeigt:
Code: Alles auswählen
[center][c=#8080ff][b]Meldung[/b][/c][/center]
Die getragene Unterwäsche kann auf der ISS nämlich nicht gewaschen werden. Sie wird mit anderem Müll in eine Raumkapsel gefüllt und Richtung Erde geschickt. In der Erdatmosphäre verglüht dann die Kapsel mit der eingefrorenen Unterwäsche und am Himmel erscheint eine menschgemachte Sternschnuppe. "Nicht jede Sternschnuppe ist romantisch", sagte Groemer der Nachrichtenagentur dpa.
Code: Alles auswählen
[b][i]Fette Kursivschrift[/i][/b]
Geht das noch anzupassen, denn auch mit dem vorhandenen BBCode von Dir, ist ja eine Verschachtelung mehrerer Codes möglich.
Das scheint mir ja diese Zeile hier zu sein:
Code: Alles auswählen
$txt = preg_replace('/\[.*?\](.*?)\[\/.*?\]/ism', '$1', $txt);
Dieser Code mit '$2'
Code: Alles auswählen
$txt = preg_replace('/\[.*?\](.*?)\[\/.*?\]/ism', '$2', $txt);
... oder der Code mit Count '${2}siehe Event,$2':
$txt = preg_replace('/\[.*?\](.*?)\[\/.*?\]/ism', '${2}siehe Event,$2', $txt);
... sieht dann so aus