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|null
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 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_list_encodings
- mb_ord
- mb_output_handler
- mb_parse_str
- mb_preferred_mime_name
- mb_regex_encoding
- mb_regex_set_options
- 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