Home >php教程 >php手册 >PHP 中如何自动计算中文的字数?

PHP 中如何自动计算中文的字数?

WBOY
WBOYOriginal
2016-06-06 20:05:391194browse

PHP 中如何准确核算中文字数?这个是困惑我好久的疑问,PHP 中有许多函数能够核算字符串的长度,比方下面的比如,分别使用了 strlen,mb_strlen,mb_strwidth 这个三个函数去测验核算字符串的长度,看看把中文算成几个字节:

echo strlen("你好ABC") . "";//输出 9
echo mb_strlen("你好ABC", 'UTF-8') . "";// 输出 5
echo mb_strwidth("你好ABC") . "";//输出 7

从上面的测验,咱们能够看出:strlen 把中文字符算成 3 个字节,mb_strlen 不论中文仍是英文,都算 1 个字节,而 mb_strwidth 则把中文算成 2 个字节,所以 mb_strwidth 才是咱们想要的:中文 2 个字节,英文 1 个字节。

相同截取字符串也主张使用 mb_strimwidth,也是依照 中文 2 个字节,英文 1 个字节 方法核算以后的,而且假如字数超越截取的请求,这个函数还能够在最终面主动增加‘…’。

mb_strimwidth($post_excerpt,0,240,'...','utf-8');

留意,最终增加‘utf-8’编码参数,能够防止中文截取乱码的疑问。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn