preg_replace_callback_array
(PHP 7, PHP 8)
preg_replace_callback_array — Perform a regular expression search and replace using callbacks
Beschreibung
array
$pattern
,string|array
$subject
,int
$limit
= -1,int
&$count
= null
,int
$flags
= 0): string|array|null
The behavior of this function is similar to preg_replace_callback(), except that callbacks are executed on a per-pattern basis.
Parameter-Liste
-
pattern
-
An associative array mapping patterns (keys) to callables (values).
-
subject
-
The string or an array with strings to search and replace.
-
limit
-
The maximum possible replacements for each pattern in each
subject
string. Defaults to-1
(no limit). -
count
-
If specified, this variable will be filled with the number of replacements done.
-
flags
-
flags
can be a combination of thePREG_OFFSET_CAPTURE
andPREG_UNMATCHED_AS_NULL
flags, which influence the format of the matches array. See the description in preg_match() for more details.
Rückgabewerte
preg_replace_callback_array() returns an array if the
subject
parameter is an array, or a string
otherwise. On errors the return value is null
If matches are found, the new subject will be returned, otherwise
subject
will be returned unchanged.
Fehler/Exceptions
Wenn das übergebene Regex-Muster nicht zu einem gültigen Regex kompiliert werden
kann, wird ein Fehler der Stufe E_WARNING
ausgegeben.
Changelog
Version | Beschreibung |
---|---|
7.4.0 |
The flags parameter was added.
|
Beispiele
Beispiel #1 preg_replace_callback_array() example
<?php
$subject = 'Aaaaaa Bbb';
preg_replace_callback_array(
[
'~[a]+~i' => function ($match) {
echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
},
'~[b]+~i' => function ($match) {
echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
}
],
$subject
);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
6 matches for "a" found 3 matches for "b" found
Siehe auch
- PCRE Patterns
- preg_replace_callback() - Sucht und ersetzt mit regulären Ausdrücken unter Verwendung eines Callbacks
- preg_quote() - Maskiert Zeichen regulärer Ausdrücke
- preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
- preg_last_error() - Liefert den Fehlercode der letzten PCRE-RegEx-Auswertung
- Anonymous functions