php mb_strlen
在字符实际编码和指定编码相同时,可以算出中文字符的个数。
示例:
[pcsh lang="applescript" tab_size="4" message="" hl_lines="" provider="manual"]
<?php
$str='中文a字1符';
echo strlen($str).'<br>';//14
echo mb_strlen($str,'utf8').'<br>';//6
echo mb_strlen($str,'gbk').'<br>';//8
echo mb_strlen($str,'gb2312').'<br>';//10
[/pcsh]
结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14,在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 .
利用这两个函数则可以联合计算出一个中英文混排的串的占位是多少(一个中文字符的占位是2,英文字符是1)
语法:
[pcsh lang="applescript" tab_size="4" message="" hl_lines="" provider="manual"]
mixed mb_strlen ( string $str [, string $encoding = mb_internal_encoding() ] )
[/pcsh]
参数:
str
要检查长度的字符串。
encoding
encoding
参数为字符编码。如果省略,则使用内部字符编码。
返回值:
返回具有 encoding
编码的字符串 str
包含的字符数。 多字节的字符被计为 1。
如果给定的 encoding
无效则返回 FALSE
。
最后更新于 2017-03-17 15:58:08 并被添加「」标签,已有 638 位童鞋阅读过。
此处评论已关闭