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);
    
    尝试一下
  • 相关页面

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