preg_replace_callback_array
preg_replace_callback_array
(PHP 7)
preg_replace_callback_array - 执行正则表达式搜索并使用回调进行替换
描述
mixed 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
如果指定,则此变量将填充完成的替换次数。
返回值
preg_replace_callback_array()返回一个数组,如果subject参数是一个数组,否则返回一个字符串。 出错时返回值为NULL
如果找到匹配项,则将返回新的主题,否则主题将不变。
例子
示例#1 preg_replace_callback_array()示例
<?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
扩展内容
- preg_replace_callback() - 执行正则表达式搜索并使用回调进行替换
- preg_quote() - 引用正则表达式字符
- preg_replace() - 执行正则表达式搜索并替换
- preg_last_error() - 返回上一次PCRE正则表达式执行的错误代码
- 匿名功能
- 有关回调类型的信息
← preg_quote
preg_replace_callback →