php中截取汉字,避免半个字节的问题

1. $In 要截取的字符串, $num要截取的长度, 返回截取的字符串
public function substrGB($in,$num)
    {
      //$num=16;
      $pos=0;
      $byteNum=0;
      $out="";
      while($num){
   
    $c=mb_substr($in,$pos,1,"EUC-JP");
    if($c=="/n") break;
    if(strlen($c)==1){
      $pos++;
      $byteNum++;
      if($byteNum>$num) break;
      $out.=$c;                       
    }
    else
      {
        $pos++;
        $byteNum=$byteNum+2;
        if($byteNum>$num) break;
        $out.=$c;                  
      }
      }
      return $out;
    } 

你可能感兴趣的:(php中截取汉字,避免半个字节的问题)