En PHP, la conversion de cas des chaînes est une opération courante. Pour le traitement des chaînes des jeux de caractères multi-octets (tels que chinois, japonais, coréen, etc.), PHP fournit la fonction MB_CONVERT_CASE pour convertir les caractères supérieurs et minuscules. Contrairement aux fonctions traditionnelles strtoupper () et strtolower () , MB_Convert_Case prend en charge le codage multi-octets, qui peut mieux gérer les chaînes contenant des lettres non latines.
Cet article analysera en détail comment convertir les chaînes en lettres majuscules à l'aide de la fonction MB_Convert_Case et comment les utiliser.
La fonction MB_CONVERT_CASE est utilisée pour convertir le cas d'une chaîne multi -yte. Sa syntaxe est la suivante:
<span><span><span class="hljs-title function_ invoke__">mb_convert_case</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$mode</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">null</span></span><span> </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>
$ str : La chaîne à convertir.
Mode $ : mode converti. Cela peut être le suivant:
MB_CASE_UPPER : Convertissez toutes les lettres en majuscules.
MB_CASE_LOWER : Convertissez toutes les lettres en minuscules.
MB_CASE_TITLE : convertit la première lettre de chaque mot en majuscule (mode titre).
$ Encodage : paramètre facultatif, spécifiez le codage des caractères. Si vide, la valeur par défaut est le codage des caractères internes (généralement UTF-8).
Pour convertir toutes les lettres d'une chaîne en majuscules, vous pouvez utiliser le mode MB_Case_upper . Supposons que nous ayons une chaîne que nous voulons convertir en majuscules.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Échantillonnage</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello, Bonjour,PHP"</span></span><span>;
</span><span><span class="hljs-comment">// utiliser mb_convert_case Convertir en majuscules</span></span><span>
</span><span><span class="hljs-variable">$upper_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_case</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, MB_CASE_UPPER, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$upper_str</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Résultat de sortie:
<span><span>HELLO, Bonjour,PHP
</span></span>
D'après le résultat de sortie, nous pouvons voir que la partie anglaise de la chaîne a été convertie avec succès en lettres majuscules. Les caractères chinois restent inchangés parce que les caractères chinois n'ont pas de distinction de cas dans le codage multi-octets.
Convertir toutes les lettres d'une chaîne en minuscules
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello, Bonjour,PHP"</span></span><span>;
</span><span><span class="hljs-variable">$lower_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_case</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, MB_CASE_LOWER, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$lower_str</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Résultat de sortie:
<span><span>hello, Bonjour,php
</span></span>
Convertir la chaîne en cas de titre (première lettre de capitalisation)
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"hello world, Bonjour,php"</span></span><span>;
</span><span><span class="hljs-variable">$title_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_case</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, MB_CASE_TITLE, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$title_str</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Résultat de sortie:
<span><span><span class="hljs-attribute">Hello</span></span><span> World, Bonjour,Php
</span></span>
La fonction MB_Convert_Case prend également en charge le codage de caractères spécifié et, s'il n'est pas spécifié, il utilise le codage de caractères interne actuel. Les formats de codage communs incluent UTF-8 , GB2312 , BIG5 , etc. Pour assurer la précision de la conversion, il est préférable de spécifier explicitement le format de codage lors du traitement des chaînes contenant des jeux de caractères non latins.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Bonjour,world"</span></span><span>;
</span><span><span class="hljs-variable">$upper_str</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_case</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, MB_CASE_UPPER, </span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$upper_str</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Résultat de sortie:
<span><span>Bonjour,WORLD
</span></span>
La fonction MB_CONVERT_CASE affectera uniquement les caractères alphabétiques, et d'autres symboles, nombres, etc. ne seront pas affectés.
Si la chaîne entrée contient différents encodages de caractères, il est préférable de s'assurer de passer dans le paramètre de codage $ correct pour éviter les caractères brouillés.
Dans PHP, MB_Convert_Case fait partie de l'extension MBSTRING , et vous devez vous assurer que votre environnement PHP l'a activé.
Grâce à la fonction MB_CONVERT_CASE , les développeurs PHP peuvent facilement convertir les parties des lettres des chaînes multi-octets en majuscules, tous les formats minuscules ou titres. Par rapport aux fonctions de conversion de cas de chaîne traditionnelles, MB_Convert_Case fournit un meilleur support de caractères multi-gobets, ce qui convient particulièrement aux chaînes de traitement impliquant des jeux de caractères non latins tels que le chinois et le japonais.
La maîtrise de l'utilisation de MB_Convert_Case peut non seulement vous aider à contrôler plus précisément le format des chaînes, mais aussi à améliorer votre capacité à traiter le texte international.