Matze: wie funktioniert eine Callback-Funktion?

Beitrag lesen

Hallo,

Was konkret ist dir unklar?

Danke für deine ausführliche Erklärung.
Nach bisschen rumspielen ohne Erfolg fühl ich mich aber immernoch nicht klüger :(

  
// Eingabe aus einem Textfeld  
$string = $_POST['input'];  
// Array mit den zu suchenden Zeichenketten  
$arrneedle = array("#\[link=(.*?)\](.*?)\[/link\]#si", "#\[b\](.*?)\[/b\]#si");  
// Array mit den ersetzten Zeichenketten  
$arrreplace = array('<a href="\1">\2</a>', '<b>\1</b>');  
// Callback auf preg_replace()  
$string = preg_replace_callback($arrneedle, preg_replace($arrneedle, $arrreplace, $string), $string);

Das gibt mir folgenden Fehler:
Warning: preg_replace_callback() [function.preg-replace-callback]: Requires argument 2, '<a href="\1">\2</a>::<b>\1</b>', to be a valid callback in...

Wieso ist das so?
Ich dachte mit jeder gefundenen Zeichenkette wird damit preg_replace aufgerufen und der Teil ersetzt.

Grüße, Matze