- /**
- * 中文字符串截取
- * @param $str
- * @param int $start @起始位置
- * @param $length @截取长度
- * @param string $ending @结尾符
- * @return string
- */
- private static function stringSubstr($str, $start=0, $length, $ending=''){
- //$str = htmlspecialchars_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]);
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/2311201615169.html
来源: http://www.codesnippet.cn/detail/2311201615169.html