澳门新蒲京娱乐


荒诞之引号中应用变量,for循环学习笔记之99乘法表
图片 5
什么样的环境是程序员成长最快的环境,回敬傲慢和偏见

字符串编码截取函数

复制代码 代码如下:
//截取字符串长度。支持utf-8和gb2312编码。若为gb2312,先将其转为utf-8,在utf-8的根底上截取然后再转变回来
function
cut_string($str,$from=1,$length=10,$code=’utf-8′,$rear=’…’){
    if($code!=’utf-8’卡塔尔(قطر‎{//总是将字符串转为utf-8编码
        $str=iconv($code,’utf-8′,$str);
    }
    $str_len=mb_strlen($str,’utf-8’卡塔尔;//字符串的尺寸
    if($from>$str_len卡塔尔{//假诺截取带头地方大于字符串长度,截取前面$length个
        $from=$str_len-$length+1;
        $from=($from<1?1:$from);
    }
    //兼容ucs-4编码
    $i=0;//字节计数
    $from_i=0;//初阶截取的字节地方
    $from_len=0;//起头截取的字符地方
    $tag=true;//标志$from_len是还是不是早已被赋值
    for($temp_len=0;($temp_len-$from_len        $byte_code=ord(substr($str,$i,1State of Qatar卡塔尔;//二个字节的编码
        if($temp_len+1==$from卡塔尔国{//记录开首截取的早先字节地方
            $from_i=$i;$from_len=$temp_len;$tag=false;
        }
        if($byte_code>=0&&$byte_code<128卡塔尔国{//字符是挤占多少个字节,utf-8是变长编码,依照各类字符的率先个字节可推断出该字符占多少个字节
            $i++;
        }
        if($byte_code>191&&$byte_code<224){
            $i+=2;
        }
        if($byte_code>223&&$byte_code<240){
            $i+=3;
        }
        if($byte_code>239&&$byte_code<248){
            $i+=4;
        }
        if($byte_code>248&&$byte_code<252){
            $i+=5;
        }
        if($byte_code>252&&$byte_code<255){
            $i+=6;
        }
    }
    return
iconv(‘utf-8’,$code,substr($str,$from_i,$i-$from_i).$rear);
}

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图