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.
mb_regex_encoding
(PHP 4 >= 4.2.0, PHP 5)
mb_regex_encoding — Returns current encoding for multibyte regex as string
Descrição
Returns the current encoding for a multibyte regex as a string.
Parâmetros
- encoding
-
O parâmetro encoding é a codificação de caractere. Se ele é omitido, o valor da codificação de caractere interna é usado.
Valor Retornado
Returns the character encoding used by multibyte regex functions.
mb_regex_encoding
/me
02-Feb-2008 03:30
02-Feb-2008 03:30
