preg_replace_callback_array

(PHP 7)

preg_replace_callback_arrayRealizar una búsqueda y sustitución de expresión regular con retrollamadas

Descripción

preg_replace_callback_array ( array $patterns_and_callbacks , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed

El comportamiento de esta función es similar a la de preg_replace_callback(), excepto que las retrollamadas se ejecutan en función de cada patrón.

Parámetros

patterns_and_callbacks

Un array asociativo con correspondencias entre patrones (claves) y retrollamadas (valores).

subject

El sujeto. Un string o array con varios strings para la búsqueda y sustitución.

limit

Las sustituciones máximas posibles para cada patrón en cada string de subject. Su valor predeterminado es de -1 (sin límite).

count

La cuenta. Si se especifica, esta variable contrendrá el número de sustituciones hechas.

Valores devueltos

preg_replace_callback_array() devuelve un array si el parámetro subject es un array, o un string en caso contrario. En caso de error devuelve NULL

Si se encuentran coincidencias, será devuelto el nuevo sujeto; si no, subject será devuelto sin cambios.

Ejemplos

Ejemplo #1 Ejemplo de preg_replace_callback_array()

<?php
$subject 
'Aaaaaa Bbb';

preg_replace_callback_array(
    [
        
'~[a]+~i' => function ($match) {
            echo 
strlen($match[0]), ' coincidencias de "a" encontradas'PHP_EOL;
        },
        
'~[b]+~i' => function ($match) {
            echo 
strlen($match[0]), ' coincidencias de "b" encontradas'PHP_EOL;
        }
    ],
    
$subject
);
?>

El resultado del ejemplo sería:

6 coincidencias de "a" encontradas
3 coincidencias de "b" encontradas

Ver también