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);
true
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);
<!doctype html> <html> <body> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADp0lEQVR4nO3bv2vyQBgH8O/7EqGC3To4hJBXMmSQ4J9gQTo7FnHyT3F2cnR0ECcJ4lSKFf8CKeIgJZWMIg7N0CKFvIPlra/mp+Z6F3g+3CQXn7vHmFzuLgAhhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCEs/OLdgCRpGsplGAaKRagqbm5wfQ0AjoPNBqsV5nM8P2MywcsL77byoqpoNrFcwnWjluUSzSZUlXfTf1KphMEgRo5Oy2CAUol3N1iTZXS7F6XpsHS7kGXeXWKkXsd2m1im9mW7Rb3Ou2PJkiR0Ogmn6bB0OpAk3p1MRC6H8ZhhpvZlPEYux7urF8rlMJ0yz9S+TKdpzpck/cQ5dXR+pfX/yPQ65Vc6Hd7dPkO9ziFT+5Ky+6MsJz9KiF6221SNvyKOPG0bth0jC9Hrd7u8UxBRqRTemeEQuv5VX9cxHCZc33VT8jwU+tw3HHrcswKOGgyOK0tSeL5OjxKOqob/5v/OkUOy7Fvf8wKk6+GBRJ+faDbDrzt+LMujvmX51g+9fjWbAPA7+V4m5P6edwsOCNWYY5oW6ValaR7Hxv0bXhJLCI1GpA6Ypsex/b5v/X7fo75pRorVaLDu9Lna7UgdcF2MRt+/uSyH99w0v88vTcNoFDVQu80rGWHiPjbbtvdF3a9YVrxBrOtiPBZ1dcey8OcP70b87/VV1GS9vX2tYonDcURNluvyboEXccdZAhI0WY7DuwUnHEfUZG02vFtwYrMRNVmrFe8WnFitIOik/HyO21uPz9/fUSzi85NVXEnCfI5s1rtJgiZrNvP+PJtFoYDHR1ZxKxXvTAU0ib9CwXck3esxjNvr+cYtFBjGvZTfFqLdjtUEgKZht/MOulwCwg4dAO8ZAgCZDFotJhFbLWQy8RojCkUJeqytVhMOV60GhVOUhMMlL2DpYb32noA/j65jvfaNlYIFCwCGEfRrLxbI5xOIks9jsQgKZBgJRPkJwYusi8Wl55euh2QqNYusiLB8v92ef/2qVsO/PE3L9wBqtaD+7ItpxhtPaFqkqfdajVmv2Imy5Wi3Q6+HSiVoX5UkoVJBr+c7njosp1uOBJ38OyJJeHjwflo85TiYTDCfw7bx8QEAV1dQFBSLKJejTsA+PeHujuFDKFu0TTIe2oAbD23tjq1WY/LSQCrvfVHQ6yixGUYCLzql5mkmEYpy5it0cecS0jHOiqhQQLmMUino5czZDJNJ0Ma2AH8BqXKg15w4tCcAAAAASUVORK5CYII="> </body> </html>
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