定义和用法
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);
相关页面
- 设置/获取多字节正则表达式的字符编码
- 用多字节支持替换正则表达式
阅读(1639) | 评论(0) | 转发(0) |