Muy buenas.
No sé si es por tener la función, la cual funciona, metida de por medio.
Código PHP:
$txt = preg_replace("/\[enlaceGrupo\|(.*?)\]/", crearvinculo('\\1'),$txt);
He probado poniendo \\1 \1 y $1.. Por si acaso, pero sigue igual. En el manual de PHP hay un ejemplo que dice de poner una e, y luego usar \\1, pero eso me da error.