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

yipeiwu_com5年前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中数组元素升序、降序以及重新排序的函数

1,快速创建数组的函数range()比如range()函数可以快速创建从1到9的数字数组:复制代码 代码如下:<?php $numbers=range(1,9);echo $num...

php查找任何页面上的所有链接的方法

使用DOM,你可以轻松从任何页面上抓取链接,代码示例如下: 复制代码 代码如下: $html = file_get_contents('http://www.example.com');...

PHP迭代器和迭代的实现与使用方法分析

本文实例讲述了PHP迭代器和迭代的实现与使用方法。分享给大家供大家参考,具体如下: PHP的面向对象引擎提供了一个非常聪明的特性,就是,可以使用foreach()方法通过循环方式取出一个...

mcrypt启用 加密以及解密过程详细解析

Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。 1.PHP加密扩展库Mcrypt安装在标准的PHP安装过程中并没有把Mrcypt安装上,但PHP的主目录下包...

PHP常用函数之base64图片上传功能详解

本文实例讲述了PHP常用函数之base64图片上传功能。分享给大家供大家参考,具体如下:HTML页面代码:<html> <head> <meta ...