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 />";
?>
mb_regex_encoding
(PHP 4 >= 4.2.0, PHP 5)
mb_regex_encoding — Définit/Récupère l'encodage des caractères pour les expressions rationnelles multi-octets
Description
Définit/Récupère l'encodage des caractères pour les expressions rationnelles multi-octets.
Liste de paramètres
-
encoding -
Le paramètre
encodingest l'encodage des caractères. S'il est omis, l'encodage de caractres interne sera utilisé.
Valeurs de retour
Si encoding est défini, alors
Cette fonction retourne TRUE en cas de
succès ou FALSE si une erreur survient..
Dans ce cas, l'encodage de caractères interne n'est pas
modifié. Si l'argument encoding
est omis, alors le nom de l'encodage de caractères courant
pour les expressions rationnelles multi-octets sera retourné.
Voir aussi
- mb_internal_encoding() - Lit/modifie l'encodage interne
- mb_ereg() - Recherche par expression rationnelle avec support des caractères multi-octets
Anonymous ¶
3 years ago
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
?>
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
?>
/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.
