PHP

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 →