Længlich: bbcode filtern

Beitrag lesen

Moin!

richtig! boar bin ich manchmal doof... jetzt hab ich nur noch ein problem:
er löscht zuviel: das "lol" sollte ja noch stehenbleiben, tut es aber so nicht...

Das liegt an dem .*, welches beliebig viele beliebige Zeichen frißt. Und da Regex gierig sind, frißt es so viele Zeichen wie möglich, also alles von der ersten [ bis zur letzten ]. So müßte es gehen:

<?php  
$text = "mööp [green]lol[/green] thing";  
$text = preg_replace('/\[[^\]]*\]/', '', $text); // "beliebiges Zeichen" ersetzt durch "alles außer ]"  
echo $text;  
?>

Viele Grüße vom Længlich