码迷,mamicode.com
首页 > 其他好文 > 详细

无乱码截取字符串,中英文混合(转)

时间:2017-06-26 12:47:30      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:logs   str   截取字符串   return   char   bre   style   cti   strlen   

//无乱码截取字符串,中英文混合
    function left($str, $len, $charset="utf-8"){
        //如果截取长度小于等于0,则返回空
        if( !is_numeric($len) or $len <= 0 ){
            return "";
        }
        //如果截取长度大于总字符串长度,则直接返回当前字符串
        $sLen = strlen($str);
        if( $len >= $sLen ){
            return $str;
        } 
        if ( strtolower($charset) == "utf-8" ){
            $len_step = 3; 
        }else{
            $len_step = 2; 
        } 
        $len_i = 0; 
        $substr_len = 0;
        for( $i=0; $i < $sLen; $i++ ){
            if ( $len_i >= $len ) break; 
            if( ord(substr($str,$i,1)) > 0xa0 ){
                $i += $len_step - 1;
                $substr_len += $len_step;
            }else{ 
                $substr_len ++;
            }
            $len_i ++;
        }
        $result_str = substr($str,0,$substr_len );
        return $result_str;
    }

 

无乱码截取字符串,中英文混合(转)

标签:logs   str   截取字符串   return   char   bre   style   cti   strlen   

原文地址:http://www.cnblogs.com/aiyaxiaohong/p/7079636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!