MB_CONVERT_KANA ist eine Multibyte-String-Verarbeitungsfunktion in PHP, mit der die Vollbreiten- und Halbbreitzeichen in japanischen Zeichen wie Kana-Zeichen konvertiert werden. Diese Funktion eignet sich besonders für die Verarbeitung von Charakteren mit voller Breite und Halbbreite im Eingang, um sicherzustellen, dass das Format des Eingangsinhalts einheitlich ist.
Das gemeinsame Format der Funktion MB_CONVERT_KANA ist wie folgt:
<span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-variable">$option</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span></span>
$ str ist die zu konvertierte Zeichenfolge.
$ option ist eine Option für die Konvertierung und kann folgen:
'a' konvertiert alle Charaktere mit voller Breite in die halbe Breite.
'A' konvertiert englische Briefe mit voller Breite in eine halbe Breite.
'k' konvertiert das Pseudonym mit voller Breite in eine halbe Breite.
'K' konvertiert Pseudonymfiguren mit voller Breite (einschließlich langer Notizen) in eine halbe Breite.
'H' konvertiert die Gesamtwertzeichen für die Gesamtbreite in eine halbe Breite.
'H' wandelt die Gesamtwertzeichen (einschließlich Perioden, Kommas usw.) in eine halbe Breite um.
'C' konvertiert die Vollbreite Zahlen in eine halbe Breite.
$ codieren ist eine Zeichencodierung (z. B. UTF-8 ) und standardmäßig SJIS .
Konvertieren Sie beispielsweise eine Zeichenfolge mit englischen Ziffern mit voller Breite in eine halbe Breite:
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"ABC123"</span></span><span>;
</span><span><span class="hljs-variable">$converted</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$str</span></span><span>, </span><span><span class="hljs-string">'a'</span></span><span>); </span><span><span class="hljs-comment">// Das Ergebnis ist 'ABC123'</span></span><span>
</span></span>
PREG_REPLACE ist eine reguläre Expressionsfunktion von PHP, die den Inhalt in einer Zeichenfolge gemäß den regulären Mustern ersetzt. Dadurch können wir problemlos komplexe Musteranpassungs- und Ersatzvorgänge für Zeichenfolgen durchführen, insbesondere wenn Sonderzeichen entfernt werden oder Dateneingabedaten formatiert werden müssen.
Die grundlegende Verwendung der Funktion preg_replace ist wie folgt:
<span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$replacement</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>);
</span></span>
$ muster ist das Muster regulärer Ausdrücke.
$ ersetzt ist die zu ersetzende Zeichenfolge.
$ Betreff ist eine ausstehende Zeichenfolge.
Ersetzen Sie beispielsweise alle Zahlen in einer Zeichenfolge durch ein Sternchen:
<span><span><span class="hljs-variable">$str</span></span><span> = </span><span><span class="hljs-string">"abc123xyz"</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">"/\d/"</span></span><span>, </span><span><span class="hljs-string">"*"</span></span><span>, </span><span><span class="hljs-variable">$str</span></span><span>); </span><span><span class="hljs-comment">// Das Ergebnis ist 'abc***xyz'</span></span><span>
</span></span>
Durch die Verwendung von mb_convert_kana und preg_replace können wir den Eingang körniger steuern. Wenn Benutzer beispielsweise eingeben, müssen wir nicht nur Vollbreitenzeichen in Halbbreiten konvertieren, sondern auch zusätzliche Räume oder andere nicht-alphanumerische Zeichen entfernen. Hier ist ein Beispiel, das zeigt, wie diese beiden Funktionen kombiniert werden, um die Eingaben zu normalisieren.
Angenommen, wir haben ein Formular, in dem der Benutzer eine Zeichenfolge mit Vollbreite Zeichen, Räume oder speziellen Symbolen eingeben kann. Wir hoffen, uns vor dem Speichern zu normalisieren, um die Konsistenz der Daten zu gewährleisten.
<span><span><span class="hljs-comment">// Nehmen Sie die vom Benutzer eingegebenen Originaldaten an</span></span><span>
</span><span><span class="hljs-variable">$user_input</span></span><span> = </span><span><span class="hljs-string">" ABC 123 !@#"</span></span><span>;
</span><span><span class="hljs-comment">// verwenden mb_convert_kana Konvertieren Sie die Vollbreite in die halbe Breite</span></span><span>
</span><span><span class="hljs-variable">$normalized_input</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_convert_kana</span></span><span>(</span><span><span class="hljs-variable">$user_input</span></span><span>, </span><span><span class="hljs-string">'a'</span></span><span>);
</span><span><span class="hljs-comment">// verwenden preg_replace Entfernen Sie zusätzliche Räume und spezielle Symbole</span></span><span>
</span><span><span class="hljs-variable">$normalized_input</span></span><span> = </span><span><span class="hljs-title function_ invoke__">preg_replace</span></span><span>(</span><span><span class="hljs-string">"/[^a-zA-Z0-9]/"</span></span><span>, </span><span><span class="hljs-string">""</span></span><span>, </span><span><span class="hljs-variable">$normalized_input</span></span><span>);
</span><span><span class="hljs-comment">// Ergebnisse Ausgabe</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$normalized_input</span></span><span>; </span><span><span class="hljs-comment">// Das Ergebnis ist 'ABC123'</span></span><span>
</span></span>
MB_CONVERT_KANA ($ user_input, 'a') : Umwandeln Sie alle Charaktere in voller Breite (einschließlich englischer numerischer Zeichen und Pseudonyme) in eine halbe Breite.
preg_replace ("/[^a-za-z0-9]/", "", $ normalized_input) : Löschen Sie alle nicht alphanumerischen Zeichen in der Zeichenfolge (dh Räume, Interpunktionsmarken usw.).
Diese Kombinationsanwendung ist ideal für die Verwendung in den folgenden Szenarien:
Formulareingabe : Wenn ein Benutzer Daten einreicht, tritt er häufig in inkonsistente Formate ein, z. B. das Mischen vollständiger und halber Breite, Räume, Interpunktionsmarken usw. Durch die Verwendung dieser beiden Funktionen können wir sie in ein konsistentes Format konvertieren.
Datenbankspeicher : Wenn Sie Daten speichern, ist die Gewährleistung der Konsistenz der Daten für die nachfolgende Verarbeitung sehr wichtig. Durch die Normalisierung der Eingabe werden Abfragefehler durch inkonsistente Formate vermieden.
Suchfunktion : Normalisierte Eingaben können dazu beitragen, die Suchgenauigkeit zu verbessern, wenn Sie die Fuzzy -Suche oder das Schlüsselwort -Anpassung unterstützen müssen.
Durch Kombinieren von MB_CONVERT_KANA und PREG_REPLACE können wir eine flexiblere und detailliertere Normalisierung der Benutzereingabe durchführen. Diese Methode vereint nicht nur das Zeichenformat, sondern beseitigt auch nutzlose Symbole und Räume, wodurch die Datenkonsistenz und -qualität verbessert wird. In der tatsächlichen Entwicklung wird diese Methode häufig in Szenarien wie der Verarbeitung von Formularen, Datenbankspeicher und Suchmaschinenoptimierung verwendet und ist eine sehr praktische Technik.