作者:先森还爱么z | 来源:互联网 | 2018-04-24 09:40
functionsubstr_len($str,$len,$charset'utf-8'){$lenintval($len);if(!is_numeric($len)||$len<0){returnfalse;}$str_lenstrlen($str);if($len>$str_len){return$str;}if($charset'utf-8'){$char_step3;}e
utf-8php
function substr_len($str, $len, $charset='utf-8'){
$len = intval($len);
if(!is_numeric($len) || $len <0){
return false;
}
$str_len = strlen($str);if($len >= $str_len){ return $str;}if($charset == 'utf-8'){ $char_step = 3;}else{ $char_step = 2;}$substr_i = 0;//截取长度$act_substr = 0;for($i = 0; $i <$str_len; $i++){ if($substr_i >= $len){ break; } $sub_val = substr($str, $i, 1); if(ord($sub_val) > 0xa0){ $i += $char_step - 1; $act_substr += $char_step; }else{ $act_substr ++; } $substr_i++;}$result_str = substr($str, 0, $act_substr);return $result_str;
}