Función PHP preg_replace_callback()

PHP 正则表达式(PCRE)Expresiones regulares PHP (PCRE)

La función preg_replace_callback realiza una búsqueda de expresión regular y utiliza una devolución de llamada para el reemplazo.

Sintaxis

mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

El comportamiento de esta función es equivalente al de preg_replace(), excepto que se puede especificar un callback en lugar de replacement para calcular la sustitución de la cadena.

Descripción de parámetros:

  • $pattern: El patrón a buscar, puede ser una cadena o un array de cadenas.

  • $callback: Una función de devolución de llamada que se invoca cada vez que se necesita un reemplazo. Los parámetros que recibe la función son los resultados coincidentes de subject.

  • $subject: La cadena de destino o array de cadenas que se va a buscar y reemplazar.

  • $limit: Opcional. El número máximo de reemplazos para cada patrón en cada cadena subject. El valor predeterminado es -1 (sin límite).

  • $count: Opcional. El número de reemplazos realizados.

Valor de retorno

Si subject es un array, preg_replace_callback() devuelve un array; en otros casos, devuelve una cadena. Si ocurre un error, devuelve NULL.

Si se encuentra una coincidencia, devuelve la cadena de destino (o array de cadenas) reemplazada; en otros casos, subject se devuelve sin cambios.

Ejemplos

Ejemplo 1

<?php //Incrementa en un año los años del texto. $text = "April fools day is 04/01/2002\n"; $text.= "Last christmas was 12/24/2001\n"; //Función de devolución de llamada function next_year($matches) { //Normalmente: $matches //$matches //Y así sucesivamente return $matches[1].($matches[2]+1); } echo preg_replace_callback( "|(\d{2}/\d{2}/)(\d{4})|", "next_year", $text); ?>

El resultado de la ejecución es el siguiente:

April fools day is 04/01/2003
Last christmas was 12/24/2002

PHP 正则表达式(PCRE)Expresiones regulares PHP (PCRE)

Otras extensiones