解决方案 »

  1.   

    function msubstr($str,$start,$len) {
        $tmpstr = "";
        for($i = 0;$i<$len;$i++) {
            if(ord(substr($str,$start+$i,1))>0xa0) {//如果是中文
                $tmpstr.= substr($str,$start+$i++,2);
            } else {
                $tmpstr.= substr($str,$start+$i,1);   
            }
        }
        return $tmpstr;
    }
    $eee = '01234e是我d1344';//测试
    $rrr = msubstr($eee,3,11);
    echo $rrr;
      

  2.   

    汉字不算2个字符?
    那你直接 mb_substr 不就是了,何必还写函数?
      

  3.   

    我在if语句里加了个$len++;,问题解决了。谢大神