Heim > Artikel > Backend-Entwicklung > So zählen Sie die Anzahl chinesischer Schriftzeichen in PHP
Wie zählt man die Anzahl chinesischer Schriftzeichen in PHP richtig? Dies ist ein Problem, das mich schon seit langem beschäftigt. Es gibt viele Funktionen, die die Länge von Strings berechnen können. Im folgenden Beispiel:
strlen
mb_strlen
mb_strwidthDiese drei Funktionen werden verwendet, um die Länge statistischer Zeichenfolgen zu testen und zu sehen, aus wie vielen Bytes Chinesisch berechnet wird:
[code]echo strlen("你好ABC") . ""; # 输出 9 echo mb_strlen("你好ABC", 'UTF-8') . ""; # 输出 5 echo mb_strwidth("你好ABC") . ""; #输出 7Aus Im obigen Test können wir sehen:
strlenzählt chinesische Zeichen als
3 Bytes,
mb_strlenzählt unabhängig von Chinesisch oder Englisch als
1 Zeichenabschnitt und
mb_strwidthzählt Chinesisch als
2 Bytes, also ist
mb_strwidthdas, was wir wollen:
Chinesisch 2 Bytes , Englisch 1 Byte . Es wird auch empfohlen,
mb_strimwidthzum Abfangen von Zeichenfolgen zu verwenden, was ebenfalls nach der Methode
Chinesisch 2 Bytes, Englisch 1 Byte berechnet wird, und wenn die Anzahl der Wörter die abgefangenen Anforderungen überschreiten, kann diese Funktion am Ende auch automatisch „...“ hinzufügen.
[code]mb_strimwidth($post_excerpt,0,240,'...','utf-8');Beachten Sie, dass durch das Hinzufügen des Codierungsparameters „utf-8“ am Ende das Problem des verstümmelten chinesischen Abfangens vermieden werden kann.
Das obige ist der detaillierte Inhalt vonSo zählen Sie die Anzahl chinesischer Schriftzeichen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!