dismiss Step into the future! Click here to switch to the beta php.net site
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

mb_regex_set_options> <mb_preferred_mime_name
[edit] Last updated: Fri, 28 Jun 2013

view this page in

mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5)

mb_regex_encodingSet/Get character encoding for multibyte regex

Description

mixed mb_regex_encoding ([ string $encoding ] )

Set/Get character encoding for a multibyte regex.

Parameters

encoding

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

Return Values

If encoding is set, then Returns TRUE on success or FALSE on failure. In this case, the internal character encoding is NOT changed. If encoding is omitted, then the current character encoding name for a multibyte regex is returned.

See Also



mb_regex_set_options> <mb_preferred_mime_name
[edit] Last updated: Fri, 28 Jun 2013
 
add a note add a note User Contributed Notes mb_regex_encoding - [4 notes]
up
1
Anonymous
4 years ago
To change algo the regex_encodign
<?php
echo "current mb_internal_encoding: ".mb_internal_encoding()."<br />";
echo
"changing mb_internal_encoding to UTF-8<br />";
mb_internal_encoding("UTF-8");
echo
"new mb_internal_encoding: ".mb_internal_encoding()."<br />";

echo
"current mb_regex_encoding: ".mb_regex_encoding()."<br />";
echo
"changing mb_regex_encoding to UTF-8<br />";
mb_regex_encoding('UTF-8');
echo
"new mb_regex_encoding: ".mb_regex_encoding()."<br />";
?>
up
1
zl at zl dot hu
4 years ago
Return values vary in setting and getting:

<?php
 
echo mb_regex_encoding();
 
// returns encoding name as a string
?>

<?php
 
echo mb_regex_encoding("UTF-8");
 
// returns true (success) of false as a boolean
?>
up
1
php dot net at phor dot net
2 years ago
Beware, mb_regex_encoding does not support the same set of encodings as listed in mb_list_encodings.php

Example:

<?php
mb_internal_encoding
('CP936');
mb_regex_encoding('CP936'); # this line produces an error
 
?>
up
-1
/me
5 years ago
Note, that the regex encoding is only set to the initial internal character encoding. If you change the internal encoding in your script with mb_internal_encoding() the regex encoding does not change. For example:

<?php
echo "current mb_internal_encoding: ".mb_internal_encoding()."<br />";
echo
"current mb_regex_encoding: ".mb_regex_encoding()."<br />";
echo
"changing mb_internal_encoding to UTF-8<br />";
mb_internal_encoding("UTF-8");
echo
"new mb_internal_encoding: ".mb_internal_encoding()."<br />";
echo
"new mb_regex_encoding: ".mb_regex_encoding()."<br />";
?>

This code might output (depending on your initial internal character encoding):

current mb_internal_encoding: ISO-8859-1
current mb_regex_encoding: ISO-8859-1
changing mb_internal_encoding to UTF-8
new mb_internal_encoding: UTF-8
new mb_regex_encoding: ISO-8859-1

Furthermore the sentence "The default value is the internal character encoding." in the documentation might be misleading because the initial default value of the regex encoding is meant, and not the default value for the optional encoding parameter.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites