Hi,
preg_match_all("/\[TEXT([0-9]*)\]([^\[\/TEXT\]]*)\[\/TEXT\]/s", $beschreibung, $match_text);
Du schließt in der Mitte per [^[/TEXT]] die Großbuchstaben T, E und X aus.
Und wunderst Dich dann, daß der Text nicht gematcht wird, wenn ein E drinsteckt.
Für den Text zwischen den "Tags" reicht ein (.*?) aus.
cu,
Andreas a/k/a MudGuard