PHP mb_ereg_replace_callback mbstring 函数
-
定义和用法
mb_ereg_replace_callback - 执行正则表达式搜索,并使用回调替换为多字节支持 -
版本支持
PHP4 PHP5 PHP7 不支持 v5.4.1+支持 支持 -
语法
mb_ereg_replace_callback( string $pattern , callable $callback , string $string [, string $option = "msr" ] )
mb_ereg_replace_callback() 扫描字符串以查找与模式的匹配项,然后将匹配的文本替换为回调函数的输出。 该函数的行为与 mb_ereg_replace() 几乎相同,除了以下事实之外:应指定一个回调而不是替换参数。 -
参数
参数 必需的 描述 pattern 是 正则表达式模式。 模式中可以使用多字节字符。 callback 是 一个回调,将被调用并在主题字符串中传递匹配元素的数组。 回调应返回替换字符串。 您通常只需要一个地方就可以使用 mb_ereg_replace_callback() 的回调函数。 在这种情况下,您可以使用匿名函数在对 mb_ereg_replace_callback() 的调用中声明回调。 这样,您就可以将调用的所有信息集中在一个地方,并且不会使函数名称空间混乱,而在其他任何地方都不会使用回调函数的名称。 string 是 正在检查的字符串。 option 否 搜索选项。 有关说明,请参见 mb_regex_set_options()。 -
返回值
如果字符串与正则表达式模式匹配,则返回TRUE,否则返回FALSE。mb_regex_encoding() 指定的内部编码或字符编码将会当作此函数用的字符编码。
-
示例
尝试一下// this text was used in 2002 // we want to get this up to date for 2003 $text = "April fools day is 04/01/2002\n"; $text.= "Last christmas was 12/24/2001\n"; // the callback function function next_year($matches) { // as usual: $matches[0] is the complete match // $matches[1] the match for the first subpattern // enclosed in '(...)' and so on return $matches[1].($matches[2]+1); } echo mb_ereg_replace_callback( "(\d{2}/\d{2}/)(\d{4})", "next_year", $text);
-