La fonction principale de la fonction MB_GET_INFO est de renvoyer les informations de configuration de l'extension MBSTring, qui renvoie un tableau contenant la configuration MBSTring. Ce tableau contient diverses configurations de MBSTring dans l'environnement actuel, ce qui est particulièrement utile pour les fonctions de traitement des chaînes qui prennent en charge le codage multi -yte.
mb_get_info(string $type = "all"): array
Description du paramètre :
$ Type : Spécifie le type d'informations à récupérer. La valeur par défaut est "tout" pour obtenir toutes les informations de configuration. Les autres valeurs disponibles comprennent:
"interne_encoding" : le codage actuel des caractères internes.
"http_input" : codage des caractères d'entrée http.
"http_output" : codage de caractères de sortie http.
"mbString.encoding_translation" : si la conversion de codage des caractères est activée.
"mbString.func_overload" : si la surcharge de fonction est activée.
"mbstring.language" : paramètres des paramètres régionaux.
"mbString.http_output_conv_mimetype" : si la conversion de codage de caractères est activée.
La fonction MB_GET_INFO renvoie un tableau contenant des éléments de configuration.
Ce qui suit est un exemple montrant comment utiliser la fonction MB_GET_INFO pour obtenir des informations pertinentes sur la configuration de MbString.
<?php
// Faire toutmbstringConfiguration
$info = mb_get_info();
print_r($info);
// Obtenez des paramètres d'encodage de caractères internes
$internal_encoding = mb_get_info("internal_encoding");
echo "Codage interne actuel:$internal_encoding\n";
// ObtenirHTTPParamètres d'encodage des caractères d'entrée
$http_input = mb_get_info("http_input");
echo "HTTPEntrez le codage:$http_input\n";
?>
Le résultat de sortie est similaire à:
Array
(
[internal_encoding] => UTF-8
[http_input] => auto
[http_output] => UTF-8
[mbstring.encoding_translation] => 1
[mbstring.func_overload] => 0
[mbstring.language] => Japanese
[mbstring.http_output_conv_mimetype] =>
)
Codage interne actuel:UTF-8
HTTPEntrez le codage:auto
Dans cet exemple, nous utilisons d'abord MB_GET_INFO () pour obtenir toutes les informations de configuration de MbString et les imprimer via print_r . Nous obtenons ensuite le codage interne et le codage d'entrée HTTP respectivement et le faisons respectivement à l'écran.
Lorsque vous travaillez avec des chaînes multi-gytets, il est crucial de définir le bon codage de caractères. MB_internal_encoding () peut être utilisé pour définir le codage des caractères internes des scripts PHP. Le codage UTF-8 est généralement recommandé, ce qui peut prendre en charge les caractères dans la plupart des langues.
mb_internal_encoding("UTF-8");
Contrairement à Strlen et substrat , MB_strlen et MB_SUBSTR gèrent correctement les caractères multi -yte. Par exemple, les caractères chinois occupent 3 octets sous UTF-8, tandis que Strlen pense à tort qu'ils sont 3 caractères. MB_strlen peut gérer correctement ces caractères.
$str = "Bonjour,monde";
echo mb_strlen($str, "UTF-8"); // Sortir:6
De même, MB_substr peut également être utilisé pour intercepter les chaînes de mulabyte sans détruire des caractères.
echo mb_substr($str, 0, 2, "UTF-8"); // Sortir:Bonjour
Si votre programme doit gérer les chaînes avec différents encodages, MB_CONVERT_ENCODING peut être très pratique pour la conversion d'encodage.
$str = "こんにちは";
$converted = mb_convert_encoding($str, "UTF-8", "SJIS");
echo $converted; // Sortir:こんにちは
Dans certaines applications, vous devrez peut-être déterminer le type de codage d'une chaîne. La fonction MB_DETECT_ENCODING peut être utilisée pour détecter le codage d'une chaîne.
$str = "Bonjour,monde";
$encoding = mb_detect_encoding($str, "UTF-8, SJIS, eucjp-win");
echo $encoding; // Sortir:UTF-8
Parfois, vous pouvez surcharger automatiquement certaines fonctions de chaîne (telles que substr , strtolower , etc.) dans des fonctions MBSTring pour gérer correctement les caractères multi -yte. Vous pouvez utiliser la directive mbString.func_overload pour activer la surcharge de la fonction.
// ActivermbstringSurcharge de fonction
ini_set('mbstring.func_overload', 7);
De cette façon, lorsque PHP appelle des fonctions telles que Strtolower et substr , il appellera automatiquement MB_Strtolower et MB_Substr , etc. pour s'assurer que les caractères multi-octets sont traités correctement.
La fonction MB_GET_INFO offre aux développeurs PHP un moyen facile de visualiser les configurations de MBSTring, aidant à déboguer et à optimiser le traitement de chaîne à plusieurs sites. En définissant rationnellement l'encodage, en utilisant des fonctions de chaîne multi-octets et en permettant la surcharge des fonctions, les développeurs peuvent gérer efficacement divers langages et jeux de caractères, assurant l'exactitude et la compatibilité des applications dans un environnement mondialisé.
Dans le développement de PHP, la compréhension et la bonne utilisation de ces techniques de traitement des chaînes multi-gytets sont cruciaux pour développer des applications qui prennent en charge plusieurs langages et jeux de caractères. J'espère que grâce à l'introduction de cet article, vous pouvez utiliser MB_GET_INFO et d'autres fonctions MBSTring plus compétentes pour améliorer l'efficacité du développement et la qualité du code.