(PHP 5 >= 5.3.0, PHP 7)
preg_filter — Recherche et remplace avec une expression rationnelle
$pattern
, mixed $replacement
, mixed $subject
[, int $limit
= -1
[, int &$count
]] )preg_filter() est identique à preg_replace(), mais elle ne fait que retourner les occurrences trouvées (éventuellement transformées). Pour plus de détails sur le fonctionnement de cette fonction, voyez preg_replace().
Retourne un tableau si le paramètre subject
est de type tableau ou une chaîne de caractères autrement.
Si aucune occurrence n'est trouvée ou si une erreur survient,
un tableau vide sera retourné lorsque le paramètre
subject
est un tableau ou NULL
sinon.
Exemple #1 Exemple de comparaison de preg_filter() avec 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 renvoie\n";
print_r(preg_filter($pattern, $replace, $subject));
echo "preg_replace renvoie\n";
print_r(preg_replace($pattern, $replace, $subject));
?>
L'exemple ci-dessus va afficher :
preg_filter renvoie Array ( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4 ) preg_replace renvoie 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 )