闲者博客 - 函数 https://bk1314.com/tag/%E5%87%BD%E6%95%B0/ zh-CN Fri, 25 Feb 2022 18:52:51 +0800 Fri, 25 Feb 2022 18:52:51 +0800 PHP截取字符串长度 https://bk1314.com/40.html https://bk1314.com/40.html Fri, 25 Feb 2022 18:52:51 +0800 飞鱼 /* Utf-8、gb2312都支持的汉字截取函数 cut_str(字符串, 截取长度, 开始长度, 编码); 编码默认为 utf-8 开始长度默认为 0 */ function cutStr($string, $sublen, $start = 0, $code = 'UTF-8'){ if($code == 'UTF-8'){ $pa = "/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/"; preg_match_all($pa, $string, $t_string); if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."..."; return join('', array_slice($t_string[0], $start, $sublen)); }else{ $start = $start*2; $sublen = $sublen*2; $strlen = strlen($string); $tmpstr = ''; for($i=0; $i<$strlen; $i++){ if($i>=$start && $i<($start+$sublen)){ if(ord(substr($string, $i, 1))>129){ $tmpstr.= substr($string, $i, 2); }else{ $tmpstr.= substr($string, $i, 1); } } if(ord(substr($string, $i, 1))>129) $i++; } if(strlen($tmpstr)<$strlen ) $tmpstr.= "..."; return $tmpstr; } } $str = "jQuery插件实现的加载图片和页面效果"; echo cutStr($str,16); ]]> 0 https://bk1314.com/40.html#comments https://bk1314.com/feed/tag/%E5%87%BD%E6%95%B0/