php method to determine several Chinese characters: first create a PHP sample file; then use the "mb_strimwidth($post_excerpt,0,240,'...','utf-8');" method to determine the number of Chinese characters That’s it.
The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer
How does php determine several Chinese characters? How to correctly count the number of Chinese characters in PHP
How to correctly count the number of Chinese characters in PHP? This is a problem that has troubled me for a long time. There are many functions in PHP that can calculate the length of a string. For example, in the following example, three functions, strlen, mb_strlen, and mb_strwidth, are used to test and count the length of a string. Let’s see how to calculate the length of a string in Chinese. Into several bytes:
echo strlen("你好ABC") . ""; # 输出 9 echo mb_strlen("你好ABC", 'UTF-8') . ""; # 输出 5 echo mb_strwidth("你好ABC") . ""; #输出 7
From the above test, we can see that: strlen counts Chinese characters as 3 bytes, mb_strlen counts as 1 byte regardless of Chinese or English, and mb_strwidth Chinese is counted as 2 bytes, so mb_strwidth is what we want: 2 bytes for Chinese and 1 byte for English.
It is also recommended to use mb_strimwidth to intercept strings, which is calculated according to 2 bytes in Chinese and 1 byte in English. If the number of words exceeds the interception requirements, this function can also be automatically added at the end. '…'.
mb_strimwidth($post_excerpt,0,240,'...','utf-8');
Note that adding the ‘utf-8’ encoding parameter at the end can avoid the problem of garbled Chinese interception.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to determine several Chinese characters in php. For more information, please follow other related articles on the PHP Chinese website!