php截取包含混合字符串长度的函数
时间:2021-07-01 10:21:17
帮助过:12人阅读
- 肯定是中文、英文、特殊字符都能实现的。
- //utf-8中文截取,单字节截取模式
- function cn_substr_utf8($str,$length,$append='...',$start=0){
- if(strlen($str)<$start+1){
- return '';
- }
- preg_match_all("/./su",$str,$ar);
- $str2='';
- $tstr='';
- for($i=0;isset($ar[0][$i]);$i++){
- if(strlen($tstr)<$start){
- $tstr.=$ar[0][$i];
- }else{
- if(strlen($str2)<$length + strlen($ar[0][$i])){
- $str2.=$ar[0][$i];
- }else{
- break;
- }
- }
- }
- return $str==$str2?$str2:$str2.$append;
- }
- //----使用举例如下:
- echo cn_substr_utf8('我是一个,和哈,哦也,,国家!',12);
|
php