php字符串截取中文截取2,单字节截取模式

yipeiwu_com6年前PHP代码库

//中文截取2,单字节截取模式
function cn_substr($str,$slen,$startdd=0){
    $restr = "";
    $c = "";
    $str_len = strlen($str);
    if($str_len < $startdd+1) return "";
    if($str_len < $startdd + $slen || $slen==0) $slen = $str_len - $startdd;
    $enddd = $startdd + $slen - 1;
    for($i=0;$i<$str_len;$i++)
    {
        if($startdd==0) $restr .= $c;
        else if($i > $startdd) $restr .= $c;

        if(ord($str[$i])>0x80){
            if($str_len>$i+1) $c = $str[$i].$str[$i+1];
            $i++;
        }
        else{    $c = $str[$i]; }

        if($i >= $enddd){
            if(strlen($restr)+strlen($c)>$slen) break;
            else{ $restr .= $c; break; }
        }
    }
    return $restr;
}
function cn_midstr($str,$start,$len){
    return cn_substr($str,$slen,$startdd);
}

相关文章

PHP连接sql server 2005环境配置及问题解决

一、Windows下PHP连接SQLServer 2005 设定:安装的Windows操作系统(Win7 或XP均可,其他系统暂未测试),在C盘下;PHP的相关文件位于c:/PHP下面,...

php之字符串变相相减的代码

  很极端的例子,一种变相解决的问题的思路,记录下来,以备后用。   如何去掉文件默认名字的后缀?   $fileName&n...

shell脚本作为保证PHP脚本不挂掉的守护进程实例分享

前几天开始跑一份数据名单,名单需要提供用户名、是否有手机号、是否有邮箱,用户名单我轻易的获取到了,但是,用户名单有2000w之多,并且去检测用户是否有手机号、是否有邮箱必须得通过一个对外...

PHP自动生成缩略图函数的源码示例

一个简单但功能比较完善的自动生成缩略图的函数,可以按需要对图片进行缩放、裁切、锁定宽或高、使用空白填充 以下为源码,比较简单,相信很容易看明白,记得打开 GD 库的支持哦: <...

PHP采用curl模仿用户登陆新浪微博发微博的方法

本文实例讲述了PHP采用curl模仿用户登陆新浪微博发微博的方法。分享给大家供大家参考。具体实现方法如下: 现在用php做模仿用户登录我们都会使用到PHP curl函数了,因为只有它才可...