La función preg_replace_callback realiza una búsqueda de expresión regular y la reemplaza mediante una devolución de llamada.
preg_replace_callback mixto ( $patrón mixto , devolución de llamada $ invocable , $sujeto mixto [, int $límite = -1 [, int &$count ]] )
El comportamiento de esta función es equivalente a preg_replace() excepto que puede especificar una devolución de llamada en lugar de un reemplazo para calcular la cadena de reemplazo.
Descripción del parámetro:
$patrón: El patrón a buscar, que puede ser una cadena o una matriz de cadenas.
$ callback: una función de devolución de llamada que se llama cada vez que se necesita un reemplazo. Los parámetros obtenidos por la función cuando se llama son los resultados coincidentes del sujeto.
$asunto: la cadena de destino o matriz de cadenas que se buscará y reemplazará.
$limit: opcional, el número máximo de sustituciones para cada cadena de asunto por patrón. El valor predeterminado es -1 (sin límite).
$count: Opcional, la cantidad de veces que se realiza el reemplazo.
Si el tema es una matriz, preg_replace_callback() devuelve una matriz; de lo contrario, devuelve una cadena. Devuelve NULL cuando ocurre un error.
Si se encuentra una coincidencia, se devuelve la cadena de destino reemplazada (o matriz de cadenas). De lo contrario, el asunto se devolverá sin cambios.
El resultado de la ejecución es el siguiente:
El día de los inocentes es el 01/04/2003. La última Navidad fue el 24/12/2002.