Cita:
Iniciado por Tokkara a ver, a ver... prueba esto.
Código PHP:
$regex = "#\[-(.+)-\]#eU";
$nuevo_texto = preg_replace($regex, "eval(\"\\1();\")", $texto);
Usamos la funcion
eval() La cual evalua la función del texto. No he probado la función regex pero debería funcionar.
de hecho, me parece que falta un
return dentro de la cadena a evaluar... a menos, que la función imprima y no devuelva algún resultado...
demás, la expresión adecuada sería esta... ??
Código PHP:
$texto = preg_replace('/\[-(.*)-\]/e', 'return function_exists("\\1")? \\1(): "\\1";', $texto);