(PHP 7)
preg_replace_callback_array — Perform a regular expression search and replace using callbacks
preg_replace_callback_array ( 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.
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 the PREG_OFFSET_CAPTURE
and PREG_UNMATCHED_AS_NULL
flags, which influence the format of the matches array. See the description in preg_match() for more details.
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.
Version | Description |
---|---|
7.4.0 | The flags parameter was added. |
Example #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 ); ?>
The above example will output:
6 matches for "a" found 3 matches for "b" found
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.preg-replace-callback-array.php