preg_filter
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
preg_filter — Sucht und ersetzt mit regulären Ausdrücken
Beschreibung
string|array
$pattern
,string|array
$replacement
,string|array
$subject
,int
$limit
= -1,int
&$count
= null
): string|array|null
Davon abgesehen, dass preg_filter() bei Übereinstimmungen die (möglicherweise umgewandelten) Zeichenketten nur zurückgibt, ist sie mit preg_replace() identisch. Details über die Funktionsweise dieser Funktion sind in in der Dokumentation zu preg_replace() zu finden.
Parameter-Liste
Die Parameter sind in der Dokumentation zu preg_replace() beschrieben.
Rückgabewerte
Gibt ein Array zurück, falls subject
ein Array ist, andernfalls eine Zeichenkette.
Falls keine Übereinstimmungen gefunden wurden oder ein Fehler auftrat, wird
ein leeres Array zurückgegeben, wenn
subject
ein Array ist, andernfalls
null
.
Fehler/Exceptions
Wenn das übergebene Regex-Muster nicht zu einem gültigen Regex kompiliert werden
kann, wird ein Fehler der Stufe E_WARNING
ausgegeben.
Beispiele
Beispiel #1 Beispiel zum Vergleich von preg_filter() und preg_replace()
<?php
$zeichenkette = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$suchmuster = array('/\d/', '/[a-z]/', '/[1a]/');
$ersatz = array('A:$0', 'B:$0', 'C:$0');
echo "preg_filter liefert\n";
print_r(preg_filter($suchmuster, $ersatz, $zeichenkette));
echo "preg_replace liefert\n";
print_r(preg_replace($suchmuster, $ersatz, $zeichenkette));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
preg_filter liefert Array ( [0] => A:C:1 [1] => B:C:a [2] => A:2 [3] => B:b [4] => A:3 [7] => A:4 ) preg_replace liefert 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 )
Siehe auch
- PCRE-Suchmuster
- preg_quote() - Maskiert Zeichen regulärer Ausdrücke
- preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
- preg_replace_callback() - Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks
- preg_grep() - Liefert Array-Elemente, die auf ein Suchmuster passen
- preg_last_error() - Liefert den Fehlercode der letzten PCRE-RegEx-Auswertung