mb_ereg_replace_callback
  Perform a regular expresssion seach and replace with multibyte support using a callback
  
  
   
 
  Description
  
   string mb_ereg_replace_callback
    ( string $pattern
   , callable $callback
   , string $string
   [, string $option = "msr"
  ] )
  
  
    The behavior of this function is almost identical to mb_ereg_replace, 
    except for the fact that instead of
    replacement parameter, one should specify a
    callback.
  
  
 
  Parameters
  
   
    
     - 
pattern
- 
      
       The regular expression pattern.
       
       Multibyte characters may be used in pattern.
 
- 
callback
- 
      
        A callback that will be called and passed an array of matched elements
        in the  subjectstring. The callback should
       return the replacement string.
 
        You'll often need the callbackfunction
        for a mb_ereg_replace_callback in just one place.
        In this case you can use an
        anonymous function to
        declare the callback within the call to
        mb_ereg_replace_callback. By doing it this way
        you have all information for the call in one place and do not
        clutter the function namespace with a callback function's name
        not used anywhere else.
 
- 
string
- 
      
       The string being checked.
       
- 
option
- 
      
       Matching condition can be set by optionparameter. If i is specified for this
       parameter, the case will be ignored. If x is
       specified, white space will be ignored. If m
       is specified, match will be executed in multiline mode and line
       break will be included in '.'. If p is
       specified, match will be executed in POSIX mode, line break 
       will be considered as normal character. Note that e
       cannot be used for mb_ereg_replace_callback.
 
 
 
 
  Return Values
  
   The resultant string on success, or FALSE on error.
  
  
 
  Notes
  
  Note: 
The internal encoding or the
character encoding specified by mb_regex_encoding
will be used as the character encoding for this function.
  
 
  Examples
  
   
    Example #1 mb_ereg_replace_callback example
    
<?php
// 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);
?>
     
    The above example will output:
April fools day is 04/01/2003
Last christmas was 12/24/2002
 
    
  
  
   
    Example #2 mb_ereg_replace_callback using anonymous function
      supported in PHP 5.3.0 or later
    
<?php
// 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";
echo mb_ereg_replace_callback(
            "(\d{2}/\d{2}/)(\d{4})",
            function ($matches) {
               return $matches[1].($matches[2]+1);
            },
            $text);
?>