Heim > Backend-Entwicklung > PHP-Tutorial > PHP extrahiert chinesische Buchstaben und Zahlen aus einer Zeichenfolge

PHP extrahiert chinesische Buchstaben und Zahlen aus einer Zeichenfolge

WBOY
Freigeben: 2023-03-02 10:48:02
Original
3042 Leute haben es durchsucht

PHP extrahiert chinesische Buchstaben und Zahlen aus einer Zeichenfolge

Ich habe den Spitznamen des Benutzers über die WeChat-Schnittstelle gelesen, aber viele der Namen sind Sonderzeichen, wie im Bild oben gezeigt. Es ist bedeutungslos, wenn diese Sonderzeichen nicht in der MySQL-Datenbank gespeichert sind. Deshalb möchte ich es filtern und nur chinesische Buchstaben und Zahlen aus den Namenszeichen extrahieren. Wie schreibe ich das in PHP?

Antwortinhalt:

PHP extrahiert chinesische Buchstaben und Zahlen aus einer Zeichenfolge

Ich habe den Spitznamen des Benutzers über die WeChat-Schnittstelle gelesen, aber viele der Namen sind Sonderzeichen, wie im Bild oben gezeigt. Es ist bedeutungslos, wenn diese Sonderzeichen nicht in der MySQL-Datenbank gespeichert sind. Deshalb möchte ich es filtern und nur chinesische Buchstaben und Zahlen aus den Namenszeichen extrahieren. Wie schreibe ich das in PHP?

Es macht keinen Sinn, wenn diese Sonderzeichen nicht in der MySQL-Datenbank gespeichert werden können
----Es ist sinnvoll, Symbole, versuchen Sie es mit Varbinary für Feldtypen

Tatsächlich können die Emoji-Emoticons nicht in MySQL gespeichert werden
Wenn diese Art von Ausdruck nicht direkt in Versionen unter MySQL5.5 verarbeitet und gespeichert wird, wird ein Fehler gemeldet
Sie können versuchen, die Datenbank zu ändern Zeichensatz auf utf8mb4
Es gibt Emojis auf Github. Der von Unicode extrahierte Bereich, der Referenzbereich kann beim Filtern abgeglichen werden

Erstens: Wenn Ihnen diese Dinge nichts bedeuten, bewahren Sie sie einfach nicht auf.

Es ist nutzlos, wenn Sie einen Teil davon extrahieren.

Für vollständigen Zugriff unterstützt MySQL einfach den Zeichensatz utf8mb4, der eine Obermenge von utf8 ist und abwärtskompatibel ist.

Der zweite Schritt ist die Transkodierung auf Codeebene. Sie können ihn kodieren, speichern, herausnehmen, dekodieren und erneut anzeigen.

Die letzte Methode ist diese. Tatsächlich kann man das Emoji einfach nicht speichern. Es ist in Ordnung, Emojis herauszufiltern.

<code>public static function emoji($text) {
        $clean_text = "";

        // Match Emoticons
        $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
        $clean_text = preg_replace($regexEmoticons, '', $text);

        // Match Miscellaneous Symbols and Pictographs
        $regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';
        $clean_text = preg_replace($regexSymbols, '', $clean_text);

        // Match Transport And Map Symbols
        $regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';
        $clean_text = preg_replace($regexTransport, '', $clean_text);

        // Match Miscellaneous Symbols
        $regexMisc = '/[\x{2600}-\x{26FF}]/u';
        $clean_text = preg_replace($regexMisc, '', $clean_text);

        // Match Dingbats
        $regexDingbats = '/[\x{2700}-\x{27BF}]/u';
        $clean_text = preg_replace($regexDingbats, '', $clean_text);

        $regexDingbats = '/[\x{231a}-\x{23ab}\x{23e9}-\x{23ec}\x{23f0}-\x{23f3}]/u';
        $clean_text = preg_replace($regexDingbats, '', $clean_text);

        return $clean_text;
    }</code>
Nach dem Login kopieren

Quelle hier

Verwandte Etiketten:
php
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