//截取指定长度的中英文混合字符串,保证不出现乱码的情况
function my_substr($str,$limit_length) {
$return_str = "";//返回的字符串
$len = mb_strlen($str,'utf8');// 以utf-8格式求字符串的长度,每个汉字算一个长度
if ( $len > $limit_length ){
$omit = "...";
}else{
$limit_length = $len;
}
for ($i = 0; $i < $limit_length; $i++) {
$curr_char = mb_substr($str,$i,1,'utf8');//以utf-8格式取得第$i个位置的字符,取的长度为1
$curr_length = ord($curr_char) > 127 ? 2 : 1;//如果大于127,则此字符为汉字,算两个长度
$return_str .= $curr_char;
}
return $return_str.$omit;
}
function my_substr($str,$limit_length) {
$return_str = "";//返回的字符串
$len = mb_strlen($str,'utf8');// 以utf-8格式求字符串的长度,每个汉字算一个长度
if ( $len > $limit_length ){
$omit = "...";
}else{
$limit_length = $len;
}
for ($i = 0; $i < $limit_length; $i++) {
$curr_char = mb_substr($str,$i,1,'utf8');//以utf-8格式取得第$i个位置的字符,取的长度为1
$curr_length = ord($curr_char) > 127 ? 2 : 1;//如果大于127,则此字符为汉字,算两个长度
$return_str .= $curr_char;
}
return $return_str.$omit;
}