跳至
/**
* 中文字符串截取
* @param $str
* @param int $start @起始位置
* @param $length @截取长度
* @param string $ending @结尾符
* @return string
*/
private static function stringsubstr($str, $start=0, $length, $ending=''){
//$str = html_entity_decode($str); //实体字符转为html
$str = trim(strip_tags($str)); //去除html字符
$str = preg_replace("/\s| | /", "", $str);
$mb_str = mb_substr($str, $start, $length, 'utf-8');
if($length < method::abslength($str)){
$output = $mb_str.$ending;
}else{
$output = $mb_str;
}
return $output;
}
/**
* 可以统计中文字符串长度的函数
* @param $str @要计算长度的字符串
* @return int @计算长度类型,0(默认)表示一个中文算一个字符,1表示一个中文算两个字符
*/
private static function abslength($str){
if(empty($str)){
return 0;
}
if(function_exists('mb_strlen')){
return mb_strlen($str,'utf-8');
} else {
preg_match_all("/./u", $str, $ar);
return count($ar[0]);
}
}