我从前台的文本输入域中取得一个中文字符串 想取得前两个字符 该怎么做啊
substr()函数 在输入英文和数字都可以正常工作 当输入中文的时候 就不可以了
譬如 我输入张三李四 回显是张日湃 怎么解决 比较着急?

解决方案 »

  1.   

    去两倍的整数应该就可以,如果LZ还是出现了乱码的情况的话,那估计是文件编码的问题了
    你var_dump(substr($str,0,4));看下,如果正常的话就没问题了,如果是乱码,要改下页面的文字编码
      

  2.   

    给你一个我一直在用的截取中文字符串的函数吧:(我忘记是从那里弄来的了,但好用是肯定的)
    function GBsubstr($str,$start,$len){
    if (strlen($str)>$len){
    $strlen=$start+($len-4);
    for($i=0;$i<$strlen;$i++){
    if(ord(substr($str,$i,1))>0xa0){
    $tmpstr.=substr($str,$i,2);
    $i++;
    }else{
    $tmpstr.=substr($str,$i,1);
    }
    }
    return $tmpstr;
    }else{
    return $str;
    }
    }