preg_replace_callback_array
(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
]] ) :
mixed
The 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
参见
- PCRE Patterns
- preg_replace_callback() - 执行一个正则表达式搜索并且使用一个回调进行替换
- preg_quote() - 转义正则表达式字符
- preg_replace() - 执行一个正则表达式的搜索和替换
- preg_last_error() - 返回最后一个PCRE正则执行产生的错误代码
- Anonymous functions
- callback 类型的信息