本函数可能理论上说有些不地道,把utf-8的中文字符和char一视同仁,都按长度为1计算

function string_substring($string,$start,$length) 
{ 
    $countstart=0; 
    $countlength=0; 
    $printstring=""; 
    for($i=0;$i<strlen($string);$i++) 
    { 
        while($countstart<$start) 
        { 
            $countstart++; 
            if(ord(substr($string,$i,1))>128) 
            { 
                $i+=3; 
            } 
            else 
            { 
                $i++; 
            } 
        } 
        while($countlength<$length) 
        { 
            $countlength++; 
            if(ord(substr($string,$i,1))>128) 
            { 
                $printstring.=substr($string,$i,3); 
                $i+=3; 
            } 
            else 
            { 
                $printstring.=substr($string,$i,1); 
                $i++; 
            } 
        } 
    } 
    return $printstring; 
}

示例:

echo string_substring(“>>我是A一个兵”,1,4);

显示:

>我是A

版权声明:本文为frostbelt原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/frostbelt/archive/2011/06/30/2094977.html