In der Funktion Multi-Byte-String-Verarbeitungsfunktion PHP ist mb_convert_kana eine sehr praktische Funktion, die hauptsächlich für verschiedene Konvertierungen japanischer Zeichen verwendet wird, z.
string mb_convert_kana(string $string, string $mode = "KV", ?string $encoding = null)
Der Parameter $ modus ist eine Kombination aus mehreren Flag -Buchstaben, mit denen die Konvertierungsmethode angegeben wird. Die Leute fragen sich oft, ob die Reihenfolge mehrerer Flags im $ modus unterschiedlich ist, wird das Konvertierungsergebnis anders sein? In diesem Artikel wird dieses Problem detailliert anhand bestimmter Fälle analysiert.
Listen wir kurz einige häufig verwendete Logo -Buchstaben und -bedeutungen auf:
K : Konvertieren Sie die Vollbreite Katakana in die halbe Breite Katakana
V : Wiederherstellen
H : Konvertieren Sie die englischen Nummern mit voller Breite in englische Nummern der halben Breite
A : Alphanumeric und Symbole mit voller Breite in eine halbe Breite umwandeln
R : Konvertieren Sie die englische Nummern der halben Breite in englische Nummern in voller Breite
S : Konvertieren Sie den Raum voller Breite in die Halbbreite
Diese Flags können beispielsweise in Kombination verwendet werden, was "KV" bedeutet, dass die K -Operation zuerst und dann die V -Operation durchgeführt wird.
Beim Umgang mit den $ -Modus -Flags ist die Bestellung tatsächlich sehr wichtig. Da jedes Flag einen unabhängigen Konvertierungsschritt darstellt, wird die Konvertierung nacheinander durchgeführt. Wenn Sie zuerst eine Konvertierung und dann ein anderes durchführen, unterscheidet sich das Ergebnis oft in umgekehrter Reihenfolge.
Zum Beispiel:
$input = "カタカナ"; // Vollbreite Katakana
// Befehl1:ErsteKzurückV
$output1 = mb_convert_kana($input, "KV");
// Befehl2:ErsteVzurückK
$output2 = mb_convert_kana($input, "VK");
echo "BefehlKVErgebnis: $output1\n";
echo "BefehlVKErgebnis: $output2\n";
Die Reihenfolge von "KV" ist es, die Vollbreite Katakana in Katakana (K) in halbbreitbreite Breite umzuwandeln und dann die stimmhaften Symbole in der halbbreiten Katakana in die Vollbreite Katakana (v) umzuwandeln, was normalerweise die richtige und häufig verwendete Reihenfolge ist.
"VK" versucht zunächst, das geäußerte Symbol in der halben Breite Katakana (V) wiederherzustellen, aber da der Charakter zu diesem Zeitpunkt noch katakana mit voller Breite ist, funktioniert die V-Umwandlung nicht. Anschließend wird die K-Umwandlung die Vollbreite Katakana in eine halbe Breite umwandeln, und das Endergebnis unterscheidet sich von "KV".
Angenommen, die Eingangszeichenfolge enthält eine halbe Breite Katakana mit Stimmnotation:
$input = "??"; // Halbbreite Katakana“ガ”In Katakana aufgeteilt+Voice Mark
// 按Befehl使用不同模式
$output1 = mb_convert_kana($input, "KV"); // ErsteKzurückV
$output2 = mb_convert_kana($input, "VK"); // ErsteVzurückK
echo "eingeben: $input\n";
echo "KV模式转换zurück: $output1\n";
echo "VK模式转换zurück: $output2\n";
Mit "KV" wird K zuerst die gesamte Ecke in die Hälfte der Ecke verwandeln (hier ist bereits eine halbe Ecke, k hat im Grunde keine Wirkung), und dann stellt V die halbe Ecke Katakana und das stimmende Symbol für das komplette Kana "Ge" wieder her.
Mit "VK" versucht V zunächst, das geäußerte Symbol (erfolgreich) wiederherzustellen, und dann führt K die Konvertierung durch (hier wird die volle Breite in eine halbe Ecke verwandelt, aber zu diesem Zeitpunkt ist es ein Pseudonym mit voller Breite, das es in eine halbe Ecke umwandelt), und das Endergebnis der beiden wird anders sein.
Die Reihenfolge der Flags im Parameter $ modus von mb_convert_kana wirkt sich direkt auf die aufeinanderfolgenden Schritte des Konvertierungsprozesses aus.
Unterschiedliche Ordnungen verursachen unterschiedliche Änderungen der Charakterzustände, die das endgültige Ausgangsergebnis beeinflussen.
Nur durch das korrekte Verständnis der Bedeutung und der Umwandlungsreihenfolge jedes Flags kann wir sicherstellen, dass der Konvertierungseffekt mit den Erwartungen übereinstimmt.
Gemeinsame Kombinationen wie "KV" , die zuerst die Katakana mit voller Breite in eine halbe Breite umwandeln und dann die geäußerten Symbole wiederherstellen, was eine logische und gemeinsame Reihenfolge ist.
Weitere Informationen finden Sie im Funktionsdokument MB_CONVERT_KANA im offiziellen PHP -Handbuch.