no quiero ser ofensivo, tu lo sabes...
pero el manual es muy claro
Cita:
Iniciado por http://php.net/preg_replace_callback mixed preg_replace_callback ( mixed $pattern , callback $callback , mixed $subject [, int $limit= -1 [, int &$count ]] )
incluso el mensaje de error es aun mas aclarador, el segundo argumento debe ser un callback valido (
mira el ejemplo anterior que coloque)