(PHP 7)
preg_replace_callback_array — Perform a regular expression search and replace using callbacks
$patterns_and_callbacks
, mixed $subject
[, int $limit
= -1
[, int &$count
]] ) : mixedThe behavior of this function is similar to preg_replace_callback(), except that callbacks are executed on a per-pattern basis.
patterns_and_callbacks
An associative array mapping patterns (keys) to callbacks (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.
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.
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
);
?>
以上例程会输出:
6 matches for "a" found 3 matches for "b" found