Heim > Artikel > Backend-Entwicklung > So entfernen Sie nicht-chinesische Buchstaben in PHP
So entfernen Sie nicht-chinesische Buchstaben in PHP: Verwenden Sie die Funktion preg_replace() mit regulären Ausdrücken, um nach nicht-chinesischen Buchstaben in der Zeichenfolge zu suchen und diese durch leere Zeichen zu ersetzen. Die Syntax lautet „preg_replace(“/[^x{. 4E00}-x{9FFF}]+/u",'', $str)".
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
In PHP können Sie die Funktion preg_replace() mit regulären Ausdrücken verwenden, um nicht-chinesische Buchstaben in der Zeichenfolge zu entfernen .
Der reguläre Ausdruck lautet:
/[^x{4E00}-x{9FFF}]+/u
/[^x{4E00}-x{9FFF}]+/u
preg_replace()删除原理:利用正则表达式搜索字符串中的非中文字母,并将其替换成空字符''
preg_replace() Löschprinzip: Verwenden Sie reguläre Ausdrücke, um nach Zeichenfolgen zu suchen, die nicht Chinesische Buchstaben und ersetzen Sie sie durch Leerzeichen ''
.
Implementierungsbeispiel:
<?php header('content-type:text/html;charset=utf-8'); $str= 'php中文网!-=1548'; $pattern = "/[^\x{4E00}-\x{9FFF}]+/u"; echo preg_replace($pattern,'', $str); ?>
Beschreibung: preg_replace(): Die Funktion
preg_replace() kann die Suche und Ersetzung regulärer Ausdrücke durchführen und ist eine leistungsstarke Funktion zur Verarbeitung von Zeichenfolgenersetzungen. Das Syntaxformat dieser Funktion lautet wie folgt :
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
Wenn $subject ein Array ist, gibt die Funktion preg_replace() ein Array zurück, andernfalls gibt sie einen String zurück.
Wenn die Funktion preg_replace() eine Übereinstimmung findet, gibt sie das ersetzte $subject zurück, ansonsten das unveränderte $subject. Jeder Parameter der Funktion preg_replace() (außer dem Parameter $limit) kann ein Array sein. Wenn der Parameter $pattern und der Parameter $replacement beide Arrays sind, verarbeitet die Funktion die Schlüssel in der Reihenfolge, in der sie im Array erscheinen. Tritt ein Fehler auf, wird NULL zurückgegeben.
Der Parameter $replacement kann Rückverweise \n oder $n enthalten, letzteres wird syntaktisch bevorzugt. Jeder dieser Verweise wird durch den Text ersetzt, der von der n-ten übereinstimmenden Erfassungsuntergruppe erfasst wurde. n kann zwischen 0 und 99 liegen, wobei \0 und $0 den vollständigen Mustervergleichstext darstellen.
Die Methode zur Zählung der Seriennummern zum Erfassen von Untergruppen lautet: Die linke Klammer, die die erfassende Untergruppe darstellt, wird von links nach rechts beginnend bei 1 gezählt. Wenn Sie Backslashes in $replacement verwenden möchten, müssen Sie 4 ("\\" verwenden, da dies zuerst ein PHP-String ist, dann zwei nach dem Escapezeichen und dann als Originaltext betrachtet wird, nachdem er den Backslash der regulären Ausdrucks-Engine durchlaufen hat).
Wenn Sie im Ersetzungsmodus arbeiten und auf den Rückverweis eine andere Zahl folgen muss (zum Beispiel: Hinzufügen einer ursprünglichen Zahl direkt nach einem passenden Muster), können Sie keine Syntax wie \1 verwenden, um den Rückverweis zu beschreiben. Beispielsweise führt \11 dazu, dass preg_replace() nicht verstehen kann, ob eine \1-Rückreferenz gefolgt von einer ursprünglichen 1 oder eine \11-Rückreferenz gefolgt von nichts gewünscht wird. Die Lösung besteht in diesem Fall darin, ${1}1 zu verwenden. Dadurch wird eine separate Rückreferenz für $1 erstellt, eine separate Rückreferenz für Quelle 1.
Bei Verwendung des veralteten e-Modifikators maskiert diese Funktion einige Zeichen (z. B. ', " und NULL) und führt dann eine Rückreferenzersetzung durch. Wenn dies erledigt ist, stellen Sie bitte sicher, dass nach dem Parsen keine Rückreferenzen vorhanden sind. Syntaxfehler, die durch einzelne Zeichen verursacht werden Anführungszeichen oder doppelte Anführungszeichen (zum Beispiel: 'strlen('$1')+strlen("$2")' Stellen Sie sicher, dass Sie die Zeichenfolgensyntax von PHP einhalten und die Eval-Syntax einhalten die eval-Methode, um die Ergebniszeichenfolge als PHP-Code auszuwerten und den Rückgabewert als endgültige zu ersetzende Zeichenfolge zu verwenden Empfohlenes Lernen: „
PHP-Video-Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonSo entfernen Sie nicht-chinesische Buchstaben in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!