巅云智能建站平台搭建版(创业门户版)火爆上线,终身授权!新增:文章智能采集+全站真静态打包+城市分站+智能小程序+非法词过滤+H5自适应+智能链词等功能功能详情
帮助文档Help

PHP 字符串编码截取函数(兼容utf-8和gb2312)

一佰互联网站制作(www.yinxi.net) 发布日期 2019-05-01 19:06:16 浏览数: 107

复制代码 代码如下:
//截取字符串长度。支持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<$length)||$tag;$temp_len++){
        $byte_code=ord(substr($str,$i,1));//一个字节的编码
        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);
}
一佰互联是全国知名建站品牌服务商,我们有九年网站建设网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

18
04月
ZEALER创始人王自如谈ZEALER网站的

王自如,ZEALER创始人。从2010年3月开始做数码产品的开箱视频,之后拓展到科技评论。近日,科技测评人王自如做客“腾讯云会客... >>详情

11
05月
专业网站设计公司和专业网站建设公司为我们的企

对于我们企业来说,我们企业里面有着很多的产品,那么多的产品如果缺乏一些销售的渠道的话,那么会使得我们的产品卖不出去,而这个时候,其实我们以前... >>详情

26
04月
php实现 data url的图片生成与保存

Data URL是在本地直接绘制图片,不是从服务器加载,所以节省了HTTP连接,起到加速网页的作用。 语法: data:image/jpg;... >>详情

04
04月
官方公告:QQ网页版将下线,请下载客户端

简介:12月12日消息,今天腾讯QQ网页版官网发布公告,由于业务调整,webQQ即将在2019年1月1日停止服务。建议请到im.qq.com... >>详情

高端网站建设

美工兼顾SEO,为企业电子商务营销助力!

电话:

023-85725751
建站

产品

域名注册 虚拟主机 云服务器 企业邮局
智能建站 APP打包 微站/小程序 创业平台
网站推广 媒体营销 智能采集 AI机器人
400电话 短信营销 店销机器人
私人定制 门户网站