Heim  >  Artikel  >  Backend-Entwicklung  >  So zählen Sie die Anzahl chinesischer Schriftzeichen in PHP

So zählen Sie die Anzahl chinesischer Schriftzeichen in PHP

怪我咯
怪我咯Original
2017-06-29 10:02:195637Durchsuche

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_strwidth
Diese 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") . "";
#输出 7
Aus Im obigen Test können wir sehen:

strlen
zählt chinesische Zeichen als

3 Bytes,

mb_strlen
zählt unabhängig von Chinesisch oder Englisch als

1 Zeichenabschnitt und

mb_strwidth
zählt Chinesisch als

2 Bytes, also ist

mb_strwidth
das, was wir wollen:

Chinesisch 2 Bytes , Englisch 1 Byte . Es wird auch empfohlen,

mb_strimwidth
zum 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!

Stellungnahme:
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