Funktsioon preg_filter
Funktsioon preg_filter teostab otsingu ja asendamise stringis või stringide massiivis regulaaravaldise abil. Erinevalt preg_replace-st tagastab see ainult need elemendid, kus leiti vaste. Esimese parameetrina võtab regulaaravaldise, teisena - asendusstringi, kolmandana - töödeldava stringi või massiivi.
Neljandas valikulises parameetris saab määrata maksimaalse asenduste arvu igas elemendis (vaikimisi -1, mis tähendab "piiranguteta").
Viiendas valikulises parameetris määratakse muutuja, kuhu salvestatakse tehtud asenduste arv.
Süntaks
preg_filter(pattern, replacement, subject, [limit = -1], [count]);
Näide
Asendame kõik numbrid stringis sümboliga 'X':
<?php
$res = preg_filter('/\d/', 'X', 'a1b2c3');
var_dump($res);
?>
Koodi täitmise tulemus:
'aXbXcX'
Näide
Töödelgem stringide massiivi, asendades numbrid sümboliga '#':
<?php
$res = preg_filter('/\d/', '#', ['a1', 'b2', 'c', 'd4']);
var_dump($res);
?>
Koodi täitmise tulemus:
['a#', 'b#', 'd#']
Näide
Demonstreerime erinevust preg_replace-ga:
<?php
$input = ['a1', 'b2', 'c', 'd4'];
$res_filter = preg_filter('/\d/', '#', $input);
$res_replace = preg_replace('/\d/', '#', $input);
echo "Filteri tulemus: ";
var_dump($res_filter);
echo "Asenduse tulemus: ";
var_dump($res_replace);
?>
Koodi täitmise tulemus:
Filteri tulemus: ['a#', 'b#', 'd#']
Asenduse tulemus: ['a#', 'b#', 'c', 'd#']
Vaata ka
-
funktsiooni
preg_replace,
mis teostab asenduse regulaaravaldise abil -
funktsiooni
preg_match,
mis kontrollib vastavust regulaaravaldisele