mb_ereg_replace_callback
Description
The mb_ereg_replace_callback of Multibyte String for PHP perform a regular expression search and replace with multibyte support using a callback.
Syntax
mb_ereg_replace_callback(
string $pattern,
callable $callback,
string $string,
?string $options = null
): string|false|nullParameters
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 subject string. The callback should return the replacement string.
You'll often need the callback function 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.
options
The search option.
| Option | Description |
|---|---|
| i | Ambiguity match on |
| x | Enables extended pattern form |
| m | '.' matches with newlines |
| s | '^' -> '\A', '$' -> '\Z' |
| p | Same as both the m and s options |
| l | Finds longest matches |
| n | Ignores empty matches |
Return
The resultant string on success, or false on error. If string is not valid for the current encoding, null is returned.
Examples
1 · pattern callback string
<?
function myfunction($myparameter)
{
return "$myparameter[0]\n$myparameter[1]\n$myparameter[2]\n$myparameter[3]";
}
$pattern = '🐘(st(r(i)ng))';
$callback = 'myfunction';
$string = '🐘string';
$return = mb_ereg_replace_callback($pattern, $callback, $string);
echo $return;
🐘string string ring i
2 · pattern callback · anonymous string
<?
$pattern = '🐘(st(r(i)ng))';
$callback = function ($myparameter)
{
return "$myparameter[0]\n$myparameter[1]\n$myparameter[2]\n$myparameter[3]";
};
$string = '🐘string';
$return = mb_ereg_replace_callback($pattern, $callback, $string);
echo $return;
🐘string string ring i
3 · options · i
<?
function myfunction($myparameter)
{
return $myparameter[0];
}
$pattern = '🐘STRING';
$callback = 'myfunction';
$string = '🐘string';
$options = 'i';
$return = mb_ereg_replace_callback($pattern, $callback, $string, $options);
var_export($return);
'🐘string'
4 · options · x
<?
function myfunction($myparameter)
{
return $myparameter[0];
}
$pattern = '🐘 s t r i n g';
$callback = 'myfunction';
$string = '🐘string';
$options = 'x';
$return = mb_ereg_replace_callback($pattern, $callback, $string, $options);
var_export($return);
'🐘string'
5 · options · m
<?
function myfunction($myparameter)
{
return $myparameter[0];
}
$pattern = '.🐘string';
$callback = 'myfunction';
$string = '
🐘string';
$options = 'm';
$return = mb_ereg_replace_callback($pattern, $callback, $string, $options);
var_export($return);
' 🐘string'
6 · options · s
<?
function myfunction($myparameter)
{
return $myparameter[0];
}
$pattern = '^🐘string$';
$callback = 'myfunction';
$string = '🐘string';
$options = 's';
$return = mb_ereg_replace_callback($pattern, $callback, $string, $options);
var_export($return);
'🐘string'
7 · options · p
<?
function myfunction($myparameter)
{
return $myparameter[0];
}
$pattern = '^.🐘string$';
$callback = 'myfunction';
$string = '
🐘string';
$options = 'p';
$return = mb_ereg_replace_callback($pattern, $callback, $string, $options);
var_export($return);
' 🐘string'
8 · options · l
<?
function myfunction($myparameter)
{
return $myparameter[0];
}
$pattern = '🐘.*tring';
$callback = 'myfunction';
$string = '🐘stringtring';
$options = 'l';
$return = mb_ereg_replace_callback($pattern, $callback, $string, $options);
var_export($return);
'🐘stringtring'
9 · options · n
<?
function myfunction($myparameter)
{
return $myparameter[0];
}
$pattern = '';
$callback = 'myfunction';
$string = '🐘string';
$options = 'n';
$return = mb_ereg_replace_callback($pattern, $callback, $string, $options);
var_export($return);
'🐘string'
Links
Multibyte String
- mb_check_encoding
- mb_chr
- mb_convert_case
- mb_convert_encoding
- mb_convert_kana
- mb_convert_variables
- mb_decode_mimeheader
- mb_decode_numericentity
- mb_detect_encoding
- mb_detect_order
- mb_encode_mimeheader
- mb_encode_numericentity
- mb_encoding_aliases
- mb_ereg
- mb_ereg_match
- mb_ereg_replace
- mb_ereg_search
- mb_ereg_search_getpos
- mb_ereg_search_getregs
- mb_ereg_search_init
- mb_ereg_search_pos
- mb_ereg_search_regs
- mb_ereg_search_setpos
- mb_eregi
- mb_eregi_replace
- mb_get_info
- mb_http_input
- mb_http_output
- mb_internal_encoding
- mb_language
- mb_lcfirst
- mb_list_encodings
- mb_ltrim
- mb_ord
- mb_output_handler
- mb_parse_str
- mb_preferred_mime_name
- mb_regex_encoding
- mb_regex_set_options
- mb_rtrim
- mb_scrub
- mb_send_mail
- mb_split
- mb_str_pad
- mb_str_split
- mb_strcut
- mb_strimwidth
- mb_stripos
- mb_stristr
- mb_strlen
- mb_strpos
- mb_strrchr
- mb_strrichr
- mb_strripos
- mb_strrpos
- mb_strstr
- mb_strtolower
- mb_strtoupper
- mb_strwidth
- mb_substitute_character
- mb_substr
- mb_substr_count
- mb_trim
- mb_ucfirst