In PHP können herkömmliche String-Funktionen wie StrtoUpper () diese Zeichen möglicherweise nicht korrekt behandeln, wenn sie mit Multibyte-Zeichensätzen (wie UTF-8, GBK, Big5 usw.) zu tun haben. Zu diesem Zeitpunkt können wir die Funktion mb_strtoupper () verwenden, die eine Funktion ist, die durch Multi-Byte-String-Erweiterung (Mbstring) bereitgestellt wird, um Strings in Großbuchstaben umzuwandeln. Heute erlangen wir ein detailliertes Verständnis für die grundlegende Verwendung von mb_strtoupper () und erklären erklären, wie diese Funktion schnell beherrscht.
Die Funktion der Funktion mb_strtoupper () besteht darin, die alphabetischen Zeichen in der angegebenen Zeichenfolge in Großbuchstaben umzuwandeln. Im Gegensatz zu StrtoUpper () kann Mb_strtoupper () Multi-Byte-Zeichensätze korrekt verarbeiten und sicherstellen, dass unter UTF-8-Codierung Zeichen wie Chinesisch und Japanisch korrekt verarbeitet werden können.
<span><span><span class="hljs-title function_ invoke__">mb_strtoupper</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">string</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 Eingabezeichenfolge, die in Großbuchstaben umgewandelt werden muss.
$ codierung : Optionaler Parameter, Zeichencodierung angeben, Standardwert ist null , dh verwenden die interne Zeichencodierung (normalerweise UTF-8).
mb_strtoupper () eignet sich nur für die Verarbeitung von Multi-Byte-Codierungs-Zeichenfolge und wird normalerweise für Codierung wie UTF-8, Shift-jis, EUC-JP usw. verwendet.
Wenn Sie die Mbtring -Erweiterung nicht installieren, kann PHP diese Funktion nicht verwenden. Stellen Sie daher sicher, dass die Erweiterung von Mbstring bei der Verwendung installiert und aktiviert ist.
Die häufigste Verwendung besteht darin, die Zeichenfolge direkt in Kapital zu konvertieren. Konvertieren Sie beispielsweise eine chinesische oder englische Saite in Großbuchstaben:
<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"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe "HELLO WORLD"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
<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,Welt"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe "Hallo,Welt"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Im obigen Beispiel kann Mb_strtoupper () englische Zeichenfolgen korrekt verarbeiten und sie in Großbuchstaben umwandeln. Da chinesische Saiten selbst keinen Fallunterschied haben, werden sie sich nicht ändern.
mb_strtoupper () kann eine Zeichencodierung durch den Codierungsparameter angeben. Standardmäßig verwendet es die interne Codierung des PHP (normalerweise UTF-8), aber manchmal müssen wir uns mit anderen codierten Zeichenfolgen befassen, die explizit angegeben werden können.
<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,Welt"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">"GBK"</span></span><span>); </span><span><span class="hljs-comment">// existieren GBK 编码下Ausgabe大写</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Die Codierung wird hier als GBK angegeben, und die Funktion konvertiert die Zeichenfolge gemäß der angegebenen Codierung in Großbuchstaben. Wenn die Codierung falsch ist, kann dies Ausgabefehler oder verstümmelte Code verursachen.
Die Funktion mb_strtoupper () kann nicht nur gewöhnliche Zeichen verarbeiten, sondern auch korrekt behandelt, die Sonderzeichen enthalten.
<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, Welt! Hallo!"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">mb_strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe "HELLO, Welt! Hallo!"</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
In diesem Beispiel wird der englische Teil in das Kapital umgewandelt, während der chinesische Teil nicht geändert wird, und die Sonderzeichen (Kommas und Ausrufezeichen) bleiben gleich.
Für Einzelbyte-Zeichensätze (z. B. ISO-8859-1 oder ASCII-Codierung) reicht Strtoupper () aus. Wenn die Zeichenfolge jedoch Multibyte -Zeichen (wie Chinesisch oder Japanisch) enthält, funktioniert Strtoupper () nicht richtig und kann sogar zu verstümmelten Code führen.
<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,Welt"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strtoupper</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// Ausgabe错误或乱码</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Der obige Code kann einen verstümmelten Code verursachen, da StrtoUpper () keine Multibyte -Zeichen unterstützt, während mb_strtoupper () ihn korrekt verarbeiten kann.
mb_strtoupper () ist ein sehr nützliches Werkzeug für Multibyte -Zeichensätze, insbesondere für chinesische, japanische und andere Zeichensets. In PHP stellt die Verwendung sicher, dass Multibyte -Zeichen korrekt in Großbuchstaben konvertiert werden, ohne verstümmelt oder falsch zu verhalten. Das Mastering der grundlegenden Verwendung von mb_strtoupper () kann nicht nur die Codierungseffizienz verbessern, sondern auch sicherstellen, dass die Anwendung verschiedene Zeichenkodierungen korrekt verarbeiten und die Benutzererfahrung verbessern kann.