定义和用法

preg_replace_callback_array - 执行正则表达式搜索并使用回调替换

语法

preg_replace_callback_array ( array $patterns_and_callbacks , mixed $subject [, int $limit = -1 [, int &$count ]] )

该函数的行为类似于preg_replace_callback(),不同之处在于回调是按模式执行的。

参数

参数 必需的 描述
patterns_and_callbacks 关联数组将模式(键)映射到回调(值)。
subject 字符串或包含要搜索和替换的字符串的数组。
limit 每个主题字符串中每个模式的最大可能替换数。 默认为-1(无限制)。
count 如果指定,此变量将填充完成的替换次数。

返回值

如果subject参数是一个数组,则preg_replace_callback_array()返回一个数组,否则返回一个字符串。 发生错误时,返回值为NULL,如果找到匹配项,则将返回新子串,否则将原样返回。

示例

$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
);

相关函数

preg_replace_callback() - 执行一个正则表达式搜索并且使用一个回调进行替换

preg_quote() - 转义正则表达式字符

preg_replace() - 执行一个正则表达式的搜索和替换

preg_last_error() - 返回最后一个PCRE正则执行产生的错误代码