php截取中文字符串不乱码的方法

php截取中文字符串不乱码的方法

利用php内置方法mb_substr截取中文不乱码,使用起来非常简单,大家参考使用吧

GBK编码截取示例

代码如下:

$str = '我是谁'; //gbk编码的字符串

echo mb_substr($str, 0, 1, 'gbk'); //输出 我

mb_substr方法比substr多一个参数,用来指定字符串编码。

utf-8编码截取示例

[code]

$str = '我abc是谁'; //utf-8编码的字符串

echo mb_substr($str, 0, 2, 'utf-8'); //输出 我a

[/code

中英混合也完全没有问题。

友情提示

使用的时候要注意php文件的编码,和网页显示时的编码。

使用这个mb_substr方法要事先知道字符串的编码,如果不知道编码,就需要判断,mbstring库还提供了mb_check_encoding来检验字符串编码,但还不完善。