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

yipeiwu_com7年前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 检查扩展库或函数是否可用的代码

本文介绍的函数其实是PHP手册上本来就有的,但是由于这些函数独立性较强,查找不易,所以单独介绍一下,方便查阅。 1. 获取所有可用的模块 - get_loaded_extensions...

PHP学习笔记(一):基本语法之标记、空白、和注释

一、PHP 标记 1、XML风格 复制代码 代码如下: <?php echo "hello world";?> 2、简短风格 复制代码 代码如下: <...

PHP中extract()函数的定义和用法

定义和用法 PHP extract() 函数从数组中把变量导入到当前的符号表中。 对于数组中的每个元素,键名用于变量名,键值用于变量值。 第二个参数 type 用于指定当某个变量已经存在...

jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码

jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码

本例用到其他2个php class.upload.php和 functions.php还有css和js以及img文件 完整实例代码点击此处本站下载。 效果图如下: 实现代码如下: Ja...

PHP对象、模式与实践之高级特性分析

本文实例讲述了PHP面向对象程序设计高级特性。分享给大家供大家参考,具体如下: 高级特性 包括: 1.静态方法和属性(通过类而不是对象来访问数据和功能) 2.抽象类和接口(设计,实现分离...