定义和用法
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正则执行产生的错误代码