The behavior of this function is similar to preg_replace_callback(), except that callbacks are executed on a per-pattern basis.
An associative array mapping patterns (keys) to callbacks (values).
The string or an array with strings to search and replace.
The maximum possible replacements for each pattern in each subject
string. Defaults to -1 (no limit).
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.
<?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
callback -
Please login to continue.