牛牛在线工具

preg_replace_callback_array()

收录 8868 个 PHP 函数,含用途说明与用法示例。

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 参数: $patterns_and_callbacks:一个包含正则表达式和回调函数的关联数组。其中,正则表达式作为键,回调函数作为值。 $subject:要进行替换操作的字符串。 $limit(可选):指定最大替换次数,默认为-1,表示替换所有匹配项。 $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"。