Hey!
Ok, ich denke dedlfix' sehr ausführliche Antworten mit Beispielen haben Dir bereits weiter geholfen - wenn nicht: zeige hier den Code, den Du geschrieben hast.
function formatUserInput($string){
$arrneedle = array("#\[link=(.*?)\](.*?)\[/link\]#si",
"#\[b\](.*?)\[/b\]#si",
"#\[u\](.*?)\[/u\]#si",
"#\[i\](.*?)\[/i\]#si");
$arrreplace = array('<a href="\1">\2</a>',
'<b>\1</b>',
'<u>\1</u>',
'<i>\1</i>');
$string = preg_replace($arrneedle, $arrreplace, $string);
return($string);
}
Das funktioniert zwar jetzt, aber mein Hintergrundgedanke war ja der, dass man sowas mit einer Callback-Funktion machen sollte.
Vielleicht ist das was ich da jetzt hab aber auch schon genau das Richtige und die Lösung so üblich nur weiß ich es nicht ;)
Danke und Grüße, Matze