substr这个函数适用于截取英文字符串,截取中文的时候,一个中文会分成三个字节,假如截取‘你好’,substr('你好',0,3),这样才能截取到一个'字',所以建议用mb_substr函数截取,在mb_substr函数里,中英文都会当做1个字节处理,截取完后,需要转换一下编码,代码如下
//获取到字符串的长度 $length = mb_strlen($v['nickName']);
if($length > 10){ //截取十位,然后将尾部替换为...
$data[$k]['nickName'] = mb_substr($v['nickName'],0,10) . '...'; //先将utf-8转换为gbk编码
$data[$k]['nickName']=iconv("utf-8","gbk//IGNORE",$data[$k]['nickName']); //然后再转换回来
$data[$k]['nickName'] = mb_convert_encoding($data[$k]['nickName'],'UTF-8','GBK');
}
0条评论