(PHP 5 >= 5.3.0, PHP 7, PHP 8)
preg_filter — Búsqueda y reemplazo con una expresión regular
$pattern
,$replacement
,$subject
,$limit
= -1,&$count
= null
preg_filter() es idéntica a preg_replace(), pero solo devuelve las ocurrencias encontradas (eventualmente transformadas). Para más detalles sobre el funcionamiento de esta función, véase preg_replace().
Los parámetros están descritos en la documentación de preg_replace().
Devuelve un tableau si el parámetro subject
es de tipo tableau o una chaîne de caractères en otro caso.
Si ninguna ocurrencia es encontrada o si ocurre un error,
un tableau vacío será devuelto cuando el parámetro
subject
es un tableau o null
en otro caso.
If the regex pattern passed does not compile to a valid regex, an E_WARNING
is emitted.
Ejemplo #1 Ejemplo de comparación de preg_filter() con preg_replace()
<?php
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$pattern = array('/\d/', '/[a-z]/', '/[1a]/');
$replace = array('A:$0', 'B:$0', 'C:$0');
echo "preg_filter devuelve\n";
print_r(preg_filter($pattern, $replace, $subject));
echo "preg_replace devuelve\n";
print_r(preg_replace($pattern, $replace, $subject));
?>
El resultado del ejemplo sería:
preg_filter devuelve Array ( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4 ) preg_replace devuelve Array ( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [5] => A [6] => B [7] => A:4 )