/**
* PHP截取中文字符出现乱码的具体解决办法
*
* @param string $str
* @param int $start
* @param int $len
* @return string $tmpstr
*/
function cnSubstr($str, $start, $len) {
$str_tmp = $len - $start;
if (strlen($str) < $str_tmp) {
$tmpstr = $str;
}
else {
$tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i < $strlen; $i++) {
if(ord(substr($str, $i, 1)) > 0xa0) {
$tmpstr .= substr($str, $i, 2); $i++;
}
else {
$tmpstr .= substr($str, $i, 1);
}
} $tmpstr .= "...";
}
return $tmpstr;
}