preg_replace_callback_array
(PHP 7, PHP 8)
Perform a regular expression search and replace using callbacks
Description
The behavior of this function is similar to preg_replace_callback(), except that callbacks are executed on a per-pattern basis.
Parameters
patternAn associative array mapping patterns (keys) to
callables (values).subjectThe string or an array with strings to search and replace.
limitThe maximum possible replacements for each pattern in each
subjectstring. Defaults to-1(no limit).countIf specified, this variable will be filled with the number of replacements done.
flagsflagscan be a combination of thePREG_OFFSET_CAPTUREandPREG_UNMATCHED_AS_NULLflags, which influence the format of the matches array. See the description inpreg_match()for more details.
Return Values
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.
Errors/Exceptions Warning
Changelog
| Version | Description |
|---|---|
| 7.4.0 | The flags parameter was added. |
Examples
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
);
?>The above example will output:
6 matches for "a" found
3 matches for "b" found