牛牛在线工具

preg_replace_callback()

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

preg_replace_callback()

执行正则表达式的搜索和替换操作,但不同于preg_replace()函数,它允许使用一个回调函数来替换匹配到的结果

函数名称:preg_replace_callback() 适用版本:PHP 4.0.5及以上版本 函数说明:preg_replace_callback()函数是用于执行正则表达式的搜索和替换操作,但不同于preg_replace()函数,它允许使用一个回调函数来替换匹配到的结果。 语法:string preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] ) 参数说明: $pattern:要匹配的正则表达式模式。 $callback:一个回调函数,用于替换匹配到的结果。该回调函数的参数是一个包含匹配到的结果的数组,返回替换后的字符串。 $subject:要进行搜索和替换的字符串。 $limit(可选):指定最大替换次数,默认为-1,表示替换所有匹配到的结果。 $count(可选):如果提供了该参数,它将接收替换的次数。 返回值:返回替换后的字符串,如果发生错误则返回NULL。 示例代码: $text = "Hello, my name is John. I love PHP!"; $pattern = '/\b[A-Z]\w+\b/'; // 使用匿名函数作为回调函数 $result = preg_replace_callback($pattern, function($matches) { return strtoupper($matches[0]); }, $text); echo $result; // 输出:HELLO, MY NAME IS JOHN. I LOVE PHP! 在上述示例中,我们首先定义了一个字符串$text,然后使用正则表达式模式$pattern来匹配所有以大写字母开头的单词。我们使用preg_replace_callback()函数来执行替换操作,其中回调函数使用了匿名函数的形式,将匹配到的结果转换为大写字母。最后,我们输出替换后的结果,即所有以大写字母开头的单词都被替换为大写形式。