PHP实现字符串截断不乱码的方法
原创
52cxy
03-26 09:48
阅读数:744
使用substr截断字符时,如字符串中同时含中英文,可能会出现乱码的情况,下面分享一个不会出现乱码的方法:
//从字符串开头开始截取指定长度的子串 //一个英文字符算0.5个长度 //一个汉字算1个长度 function getSubStr($str, $len){ $tmpstr = ""; $getCount = 0; $maxLen = strlen($str); for($i=0;$i<$maxLen;$i++){ if(ord($str[$i]) >= 224){ $getCount++; if($getCount>$len) break; $tmpstr .= substr($str, $i, 3); $i++;$i++; } elseif(ord($str[$i]) >= 192){ $getCount++; if($getCount>$len) break; $tmpstr .= substr($str, $i, 2); $i++; } else{ $tmpstr .= substr($str, $i, 1); $getCount += 0.5; } if($getCount>=$len) break; } return $tmpstr; }
共0条评论