Chinesische Schriftzeichen sind ein häufiges Problem bei der Website-Entwicklung. In PHP können Textverarbeitungsfunktionen wie preg_replace, str_replace usw. chinesische Zeichen normal verarbeiten. In einigen spezifischen Szenarien müssen wir jedoch chinesische Schriftzeichen ausschließen. Wenn beispielsweise ein Benutzernamenfeld nur englische Buchstaben und Zahlen enthalten darf, müssen wir chinesische Schriftzeichen ausschließen.
In diesem Artikel werden als Referenz für die Leser verschiedene Methoden zum Ausschließen chinesischer Zeichen in PHP vorgestellt.
Methode 1: Reguläre Ausdrücke verwenden
Durch die Verwendung regulärer Ausdrücke können chinesische Schriftzeichen einfacher ausgeschlossen werden. Das Folgende ist ein Beispielcode:
function excludeChinese($str) { return preg_replace("/[\x7f-\xff]+/", '', $str); } $name = "张三"; $name = excludeChinese($name); echo $name; //输出为空
Im obigen Code wird die Funktion preg_replace verwendet, um die chinesischen Zeichen in der Zeichenfolge durch eine leere Zeichenfolge zu ersetzen, um chinesische Zeichen auszuschließen. [x7f-xff] bedeutet, dass alle chinesischen Zeichen in der ASCII-Codetabelle übereinstimmen.
Angesichts der Tatsache, dass die Kodierung chinesischer Schriftzeichen nicht eindeutig ist, ist diese Methode nicht perfekt. In einigen Fällen können andere Methoden zum Ausschluss chinesischer Schriftzeichen erforderlich sein.
Methode 2: Verwenden Sie die Funktion mb_check_encoding.
Verwenden Sie die Funktion mb_check_encoding, um chinesische Schriftzeichen auszuschließen. Das Folgende ist ein Beispielcode:
function excludeChinese($str) { $len = mb_strlen($str); for ($i=0; $i<$len; $i++) { $char = mb_substr($str, $i, 1); if (!mb_check_encoding($char, 'ASCII')) { return ''; } } return $str; } $name = "张三"; $name = excludeChinese($name); echo $name; //输出为空
Der obige Code verwendet die Funktion mb_check_encoding, um zu erkennen, ob jedes Zeichen in der Zeichenfolge ein ASCII-Zeichen ist. Wenn nicht, wird eine leere Zeichenfolge zurückgegeben, um chinesische Zeichen auszuschließen.
Methode 3: Verwenden Sie die iconv-Funktion
Eine andere Möglichkeit, chinesische Schriftzeichen auszuschließen, ist die Verwendung der iconv-Funktion. Das Folgende ist ein Beispielcode:
function excludeChinese($str) { $str = iconv("UTF-8", "ASCII//IGNORE", $str); return $str; } $name = "张三"; $name = excludeChinese($name); echo $name; //输出空字符串
Im obigen Code wird die Codierung der Zeichenfolge zunächst von UTF-8 in die ASCII-Codierung konvertiert, dann werden die chinesischen Zeichen über den IGNORE-Parameter ignoriert und schließlich wird die Ergebniszeichenfolge zurückgegeben.
Fazit
Die oben genannten Methoden können alle den Ausschluss chinesischer Schriftzeichen erreichen. Die spezifische Methode kann je nach Bedarf ausgewählt werden. Natürlich können in verschiedenen Szenarien unterschiedliche Methoden erforderlich sein. In der tatsächlichen Entwicklung ist es am besten, eine Auswahl auf der Grundlage spezifischer Anwendungsbedingungen zu treffen.
Das obige ist der detaillierte Inhalt vonSo schließen Sie chinesische Schriftzeichen in PHP aus (drei Methoden). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!