Функция preg_replace_callback
La función preg_replace_callback realiza la búsqueda mediante una expresión regular y el reemplazo utilizando una función de callback. El primer parámetro acepta una expresión regular, el segundo - una función de callback, y el tercero - una cadena para procesar. La función de callback recibe un array de coincidencias y debe devolver una cadena de reemplazo.
Sintaxis
preg_replace_callback(pattern, callback, subject, [limit], [count]);
Ejemplo
Reemplacemos todos los números en la cadena por sus cuadrados:
<?php
$str = 'Numbers: 2, 4, 6';
$res = preg_replace_callback('/\d+/', function($matches) {
return $matches[0] * $matches[0];
}, $str);
echo $res;
?>
Resultado de ejecutar el código:
'Numbers: 4, 16, 36'
Ejemplo
Transformemos todas las palabras a mayúsculas:
<?php
$str = 'hello world';
$res = preg_replace_callback('/\b\w+\b/', function($matches) {
return strtoupper($matches[0]);
}, $str);
echo $res;
?>
Resultado de ejecutar el código:
'HELLO WORLD'
Ejemplo
Añadamos paréntesis alrededor de cada número:
<?php
$str = '1 2 3 4 5';
$res = preg_replace_callback('/\d+/', function($matches) {
return '('.$matches[0].')';
}, $str);
echo $res;
?>
Resultado de ejecutar el código:
'(1) (2) (3) (4) (5)'
Ver también
-
la función
preg_replace,
que realiza el reemplazo mediante una expresión regular -
la función
preg_match,
que realiza la búsqueda mediante una expresión regular