So schließen Sie chinesische Schriftzeichen in PHP aus (drei Methoden)

PHPz
Freigeben: 2023-04-04 17:32:01
Original
1341 Leute haben es durchsucht

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; //输出为空
Nach dem Login kopieren

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; //输出为空
Nach dem Login kopieren

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; //输出空字符串
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage