Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1924802
  • 博文数量: 45
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 515
  • 用 户 组: 普通用户
  • 注册时间: 2019-08-05 16:22
文章分类

全部博文(45)

文章存档

2020年(4)

2019年(41)

我的朋友

分类: PHP

2019-12-16 08:59:53

定义和用法

mb_ereg_replace_callback - 执行正则表达式搜索,并使用回调替换为多字节支持

版本支持

PHP4 PHP5 PHP7
不支持 v5.4.1+支持 支持

语法


  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() 指定的内部编码或字符编码将会当作此函数用的字符编码。

示例


  1. // this text was used in 2002
  2. // we want to get this up to date for 2003
  3. $text = "April fools day is 04/01/2002\n";
  4. $text.= "Last christmas was 12/24/2001\n";
  5. // the callback function
  6. function next_year($matches)
  7. {
  8.   // as usual: $matches[0] is the complete match
  9.   // $matches[1] the match for the first subpattern
  10.   // enclosed in '(...)' and so on
  11.   return $matches[1].($matches[2]+1);
  12. }
  13. echo mb_ereg_replace_callback(
  14.             "(\d{2}/\d{2}/)(\d{4})",
  15.             "next_year",
  16.             $text);

相关页面

 - 设置/获取多字节正则表达式的字符编码
 - 用多字节支持替换正则表达式


阅读(1676) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~