Funktionen preg_filter
Funktionen preg_filter udfører søgning og erstatning i en streng eller et array af strenge ved hjælp af et regulært udtryk. I modsætning til preg_replace returnerer den kun de elementer, hvor der blev fundet et match. Den tager det regulære udtryk som første parameter, erstatningsstrengen som anden parameter og strengen eller arrayet, der skal behandles, som tredje parameter.
I den fjerde valgfrie parameter kan du angive det maksimale antal erstatninger i hvert element (som standard -1, hvilket betyder "uden begrænsninger").
I den femte valgfrie parameter angives variablen, som antallet af udførte erstatninger vil blive skrevet til.
Syntaks
preg_filter(pattern, replacement, subject, [limit = -1], [count]);
Eksempel
Lad os erstatte alle cifre i strengen med symbolet 'X':
<?php
$res = preg_filter('/\d/', 'X', 'a1b2c3');
var_dump($res);
?>
Resultat af kodekørsel:
'aXbXcX'
Eksempel
Lad os behandle et array af strenge og erstatte cifre med '#':
<?php
$res = preg_filter('/\d/', '#', ['a1', 'b2', 'c', 'd4']);
var_dump($res);
?>
Resultat af kodekørsel:
['a#', 'b#', 'd#']
Eksempel
Lad os demonstrere forskellen fra preg_replace:
<?php
$input = ['a1', 'b2', 'c', 'd4'];
$res_filter = preg_filter('/\d/', '#', $input);
$res_replace = preg_replace('/\d/', '#', $input);
echo "Filter resultat: ";
var_dump($res_filter);
echo "Erstat resultat: ";
var_dump($res_replace);
?>
Resultat af kodekørsel:
Filter resultat: ['a#', 'b#', 'd#']
Erstat resultat: ['a#', 'b#', 'c', 'd#']
Se også
-
funktionen
preg_replace,
som udfører erstatning med et regulært udtryk -
funktionen
preg_match,
som checker et match med et regulært udtryk