(PHP 7, PHP 8)
preg_replace_callback_array — Realiza una búsqueda de coincidencia con una expresión regular y reemplaza mediante una función de devolución de llamada
$pattern
,$subject
,$limit
= -1,&$count
= null
,$flags
= 0El comportamiento de esta función es similar a preg_replace_callback(), con la excepción de que las funciones de devolución de llamada se ejecutan para cada patrón.
pattern
Un array asociativo que establece una relación entre los patrones (claves) y las funciones de devolución de llamada callable (valores).
subject
La chaîne de caractères o tableau que contiene los chaîne de caractères a buscar y reemplazar.
limit
El número máximo de reemplazos para cada patrón en cada
chaîne de caractères subject
. Por omisión
-1
(sin límite).
count
Si se proporciona, esta variable será rellenada con el número de reemplazos realizados.
flags
flags
puede ser una combinación de los indicadores
PREG_OFFSET_CAPTURE
y
PREG_UNMATCHED_AS_NULL
, que influyen en el formato
del array de coincidencias.
Ver la descripción de preg_match() para más detalles.
preg_replace_callback_array() devuelve un array si
el parámetro subject
es un array, o de lo contrario
una chaîne de caractères. En caso de error, el valor devuelto es null
.
Si se encuentran coincidencias, el nuevo sujeto será devuelto, de lo contrario
subject
será devuelto sin cambios.
If the regex pattern passed does not compile to a valid regex, an E_WARNING
is emitted.
Versión | Descripción |
---|---|
7.4.0 |
El parámetro flags ha sido añadido.
|
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