(PHP 7)
preg_replace_callback_array — Realizar una búsqueda y sustitución de expresión regular con retrollamadas
$patterns_and_callbacks
, mixed $subject
[, int $limit
= -1
[, int &$count
]] ) : mixedEl 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.
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.
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.
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