English | 简体中文 | 繁體中文
查询

preg_replace_callback_array()函数—用法及示例

「 对字符串中的正则表达式进行替换操作,并使用回调函数对匹配的结果进行处理 」


函数名称:preg_replace_callback_array()

适用版本:PHP 7.0及以上版本

函数描述:preg_replace_callback_array()函数是用于对字符串中的正则表达式进行替换操作,并使用回调函数对匹配的结果进行处理。该函数可以同时处理多个正则表达式,并为每个正则表达式指定一个对应的回调函数。

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

参数:

  1. $patterns_and_callbacks:一个包含正则表达式和回调函数的关联数组。其中,正则表达式作为键,回调函数作为值。
  2. $subject:要进行替换操作的字符串。
  3. $limit(可选):指定最大替换次数,默认为-1,表示替换所有匹配项。
  4. $count(可选):一个变量,用于存储替换的次数。

返回值:返回替换后的字符串,如果发生错误则返回NULL。

示例:

$patterns_and_callbacks = array(
    '/\d+/' => function($match) {
        return $match[0] * 2;
    },
    '/[a-z]+/' => function($match) {
        return strtoupper($match[0]);
    }
);

$string = 'abc 123 xyz 456';

$result = preg_replace_callback_array($patterns_and_callbacks, $string);

echo $result;

输出:

ABC 246 XYZ 912

解释:在上面的示例中,我们定义了一个包含两个正则表达式和对应回调函数的关联数组。第一个正则表达式用于匹配数字,回调函数将匹配到的数字乘以2。第二个正则表达式用于匹配小写字母,回调函数将匹配到的小写字母转换为大写。然后,我们将字符串"abc 123 xyz 456"传递给preg_replace_callback_array()函数进行替换操作,并将结果存储在$result变量中。最后,我们输出$result的值,得到替换后的字符串"ABC 246 XYZ 912"。

补充纠错
上一个函数: preg_split()函数
下一个函数: preg_replace_callback()函数
热门PHP函数
分享链接