jeje, tus dos código son idénticos... mira este ejemplo completo
Código PHP:
function reemplazar_callback($match)
{
return sin_acentos($match[1]); // (.*?) = $1 = \\1
}
function contenido($contenido)
{
return preg_replace_callback( '/\[c=(.*?)\]/iU', 'reemplazar_callback', $contenido);
}
efectivamente el callback te permite procesar sin necesidad de comodines $N