In PHP ist die Fallumwandlung von Zeichenfolgen eine übliche Operation. Für die String-Verarbeitung von Multi-Byte-Zeichensätzen (wie Chinesisch, Japanisch, Koreanisch usw.) stellt PHP die Funktion MB_CONVERT_CASE zum Konvertieren der oberen und unteren Kiste mb_convert_case. Im Gegensatz zu den herkömmlichen Funktionen von StrtoUpper () und Strtolower () unterstützt MB_CONVERT_CASE Multi-Byte-Codierung, die bessere Zeichenfolgen mit Nicht-Latinbuchstaben verarbeiten können.
In diesem Artikel wird detailliert analysiert, wie Sie Zeichenfolgen mit der Funktion MB_CONVERT_CASE in Großbuchstaben umwandeln und wie Sie sie verwenden.
Die Funktion MB_CONVERT_CASE wird verwendet, um den Fall einer Multibyte -Zeichenfolge zu konvertieren. Seine Syntax ist wie folgt:
<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 : Die zu konvertierte Zeichenfolge.
$ modus : konvertieren modus. Es kann Folgendes sein:
Mb_case_upper : Wenden Sie alle Buchstaben in Großbuchstaben.
Mb_case_lower : Alle Buchstaben in Kleinbuchstaben konvertieren.
Mb_case_title : Umwandelt den ersten Buchstaben jedes Wortes in Großbuchstaben (Titelmodus).
$ codierung : Optionaler Parameter, Zeichencodierung angeben. Wenn es leer ist, ist die Standardeinstellung eine interne Zeichenkodierung (normalerweise UTF-8).
Um alle Buchstaben in eine Zeichenfolge in Großbuchstaben umzuwandeln, können Sie den MB_CASE_UPPER -Modus verwenden. Angenommen, wir haben eine Schnur, die wir in Großbuchstaben umwandeln wollen.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Beispielzeichenfolge</span></span><span>
</span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"Hello, Hallo,PHP"</span></span><span>;
</span><span><span class="hljs-comment">// verwenden mb_convert_case In Großbuchstaben konvertieren</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>
Ausgangsergebnis:
<span><span>HELLO, Hallo,PHP
</span></span>
Aus dem Ausgabeergebnis können wir sehen, dass der englische Teil der Zeichenfolge erfolgreich in Großbuchstaben umgewandelt wurde. Chinesische Charaktere bleiben unverändert, da chinesische Zeichen unter Multi-Byte-Codierung keine Fallunterscheidung haben.
Konvertieren Sie alle Buchstaben in einer Zeichenfolge in Kleinbuchstaben
<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, Hallo,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>
Ausgangsergebnis:
<span><span>hello, Hallo,php
</span></span>
Konvertieren Sie die Zeichenfolge in den Titel (Erste Briefkapitalisierung)
<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, Hallo,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>
Ausgangsergebnis:
<span><span><span class="hljs-attribute">Hello</span></span><span> World, Hallo,Php
</span></span>
Die Funktion mb_convert_case unterstützt auch die angegebene Zeichencodierung und verwendet, falls angegeben, die aktuelle interne Zeichencodierung. Zu den gängigen Codierungsformaten gehören UTF-8 , GB2312 , Big5 usw., um die Genauigkeit der Konvertierung zu gewährleisten, es ist am besten, das Codierungsformat bei der Verarbeitung von Zeichenfolgen, die nicht-Latin-Zeichensätze enthalten, explizit anzugeben.
<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">"Hallo,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>
Ausgangsergebnis:
<span><span>Hallo,WORLD
</span></span>
Die Funktion mb_convert_case wirkt sich nur auf alphabetische Zeichen aus, und andere Symbole, Zahlen usw. werden nicht betroffen.
Wenn die eingegebene Zeichenfolge unterschiedliche Zeichenkodierungen enthält, ist es am besten, sicherzustellen, dass der richtige $ -Codierungsparameter übergeht, um verstümmelte Zeichen zu vermeiden.
In PHP ist mb_convert_case Teil der Mbtring -Erweiterung, und Sie müssen sicherstellen, dass Ihre PHP -Umgebung sie aktiviert hat.
Durch die Funktion MB_CONVERT_CASE können PHP-Entwickler leicht Buchstaben von Multi-Byte-Zeichenfolgen in Großbuchstaben, alle Kleinbuchstaben oder Titelformate umwandeln. Im Vergleich zu herkömmlichen Konvertierungsfunktionen für String-Fall bietet mb_convert_case eine bessere Unterstützung für Multibyte-Charaktere, was besonders für die Verarbeitung von Zeichenfolgen geeignet ist, die nicht-Latin-Zeichensätze wie Chinesen und Japanisch beteiligt sind.
Durch das Beherrschen der Verwendung von mb_convert_case können Sie nicht nur das Format der Zeichenfolgen genauer steuern, sondern auch Ihre Fähigkeit, internationalen Text zu verarbeiten, verbessern.