PHP截取中文字符串有时会出现乱码,怎么能够避免出现乱码现象呢?这里小慕讲讲利用php内置方法mb_substr截取中文不乱码的方法,这个使用起来非常简单,大家参考使用吧。
代码格式
mb_substr($str, $start, $width, $encoding) 按宽度截取字符串 $str 要截取的字符串 $start 从哪个位置开始截取,默认是0 $width 要截取的宽度 $encoding 要使用的编码
GBK编码截取示例
$str = '慕轲博客'; //gbk编码的字符串 echo mb_substr($str, 0, 1, 'gbk'); //输出 慕
mb_substr方法比substr多一个参数,用来指定字符串编码。
utf-8编码截取示例
$str = '慕asdf轲博客'; //utf-8编码的字符串 echo mb_substr($str, 0, 2, 'utf-8'); //输出 慕a
中英混合也完全没有问题。
友情提示
使用的时候要注意php文件的编码,和网页显示时的编码。
使用这个mb_substr方法要事先知道字符串的编码,如果不知道编码,就需要判断,mbstring库还提供了mb_check_encoding来检验字符串编码,但还不完善。
---
转载请注明本文标题和链接:《php截取中文字符串不乱码的方法》