Heim > Artikel > Backend-Entwicklung > So ermitteln Sie, wie viele chinesische Zeichen eine Zeichenfolge in PHP enthält
Erkennungsschritte: 1. Verwenden Sie die Funktion preg_replace() mit regulären Ausdrücken, um die Zeichenfolge zu filtern und nicht-chinesische Buchstaben in der Zeichenfolge zu entfernen. Die Syntax lautet „preg_replace(“/[^x{4E00}-x{9FFF}]. +/u ,'', original string)“ gibt einen String zurück, der alle chinesischen Buchstaben enthält. 2. Verwenden Sie die Funktion mb_strlen(), um die Länge des Filterstrings (Anzahl der chinesischen Zeichen) zu berechnen. Die Syntax „mb_strlen(filter Zeichenfolge „utf-8“)“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, DELL G3-Computer
In PHP können Sie die Funktionen preg_replace() und mb_strlen() verwenden, um zu erkennen, wie viele chinesische Zeichen eine Zeichenfolge enthält enthält.
Implementierungsschritte:
Schritt 1: Verwenden Sie die Funktion preg_replace() mit regulären Ausdrücken, um Zeichenfolgen zu filtern und nicht-chinesische Buchstaben in den Zeichenfolgen zu entfernen.
Löschprinzip von preg_replace(): Verwenden Sie reguläre Ausdrücke für die Suche Fügen Sie nicht-chinesische Buchstaben in die Zeichenfolge ein und ersetzen Sie sie durch das Nullzeichen ''.
<?php header("Content-type:text/html;charset=utf-8"); $str = "欢迎4546来到php这里。zblog,我的?#$%^天呀&())*(&^"; echo "原字符串:"; var_dump($str); $pattern = "/[^\x{4E00}-\x{9FFF}]+/u"; echo "过滤字符串后:"; $newStr=preg_replace($pattern,'', $str); var_dump($newStr); ?>
gibt eine Zeichenfolge zurück, die alle chinesischen Buchstaben enthält
Schritt 2: Verwenden Sie die Funktion mb_strlen(), um die Länge der gefilterten Zeichenfolge (die Anzahl der chinesischen Zeichen) zu berechnen :
preg_replace(): Die Funktion
preg_replace() kann die Suche und Ersetzung regulärer Ausdrücke durchführen. Das Syntaxformat dieser Funktion ist wie folgt:
$len=mb_strlen($newStr,"utf-8"); echo "中文字符的个数:".$len;Die Parameterbeschreibung lautet wie folgt:
$pattern: Das zu durchsuchende Muster, das eine Zeichenfolge oder ein Array von Zeichenfolgen sein kann;
$replacement: Die Zeichenfolge oder das Array von Zeichenfolgen, die zum Ersetzen verwendet werden. Wenn dieses Argument ein String und $pattern ein Array ist, werden alle Muster durch diesen String ersetzt. Wenn $pattern und $replacement beide Arrays sind, wird jedes $pattern durch das entsprechende Element in $replacement ersetzt. Wenn $replacement weniger Elemente enthält als $pattern, wird das zusätzliche $pattern durch die leere Zeichenfolge ersetzt.
$subject: Der zu durchsuchende und zu ersetzende String oder String-Array. Wenn $subject ein Array ist, wird die Suche und Ersetzung für jedes Element von $subject durchgeführt, und der Rückgabewert ist ebenfalls ein Array.
mb_strlen() zu verwenden.
mb_strlen()函数可以计算英文字符串、中文字符串或中英混合字符串的长度。
mb_strlen($str [, $encoding = mb_internal_encoding()])
$str 为需要计算长度的字符串
$encoding 是可选参数,为字符编码,如果省略则使用内部字符编码。
mb_strlen() 函数的返回值为具有 $encoding 编码的字符串 $str 所包含的字符数,如果 $encoding 无效则返回 false。
注意:在 mb_strlen() 函数中,无论是汉字,还是英文、数字、小数点、下划线和空格,都只占一个字符长度。
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, wie viele chinesische Zeichen eine Zeichenfolge in PHP enthält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!