Funktionen preg_filter
Funktionen preg_filter utför sök och ersätt i en sträng eller array av strängar med hjälp av ett reguljärt uttryck. Till skillnad från preg_replace returnerar den endast de element där en matchning hittades. Den tar det reguljära uttrycket som första parameter, ersättningssträngen som andra parameter och strängen eller arrayen som ska bearbetas som tredje parameter.
I den fjärde valfria parametern kan du ange det maximala antalet ersättningar i varje element (som standard -1, vilket betyder "inga begränsningar").
I den femte valfria parametern anges variabeln som antalet utförda ersättningar ska skrivas till.
Syntax
preg_filter(pattern, replacement, subject, [limit = -1], [count]);
Exempel
Låt oss ersätta alla siffror i strängen med symbolen 'X':
<?php
$res = preg_filter('/\d/', 'X', 'a1b2c3');
var_dump($res);
?>
Resultat av kodkörning:
'aXbXcX'
Exempel
Låt oss bearbeta en array av strängar och ersätta siffror med '#':
<?php
$res = preg_filter('/\d/', '#', ['a1', 'b2', 'c', 'd4']);
var_dump($res);
?>
Resultat av kodkörning:
['a#', 'b#', 'd#']
Exempel
Låt oss demonstrera skillnaden från preg_replace:
<?php
$input = ['a1', 'b2', 'c', 'd4'];
$res_filter = preg_filter('/\d/', '#', $input);
$res_replace = preg_replace('/\d/', '#', $input);
echo "Filter result: ";
var_dump($res_filter);
echo "Replace result: ";
var_dump($res_replace);
?>
Resultat av kodkörning:
Filter result: ['a#', 'b#', 'd#']
Replace result: ['a#', 'b#', 'c', 'd#']
Se även
-
funktionen
preg_replace,
som utför ersättning med reguljära uttryck -
funktionen
preg_match,
som kontrollerar överensstämmelse med ett reguljärt uttryck