• 自定义一个函数截取中文字符串


    /**
    * 截取中文字符串
    * @param unknown $str 要截取的字符串
    * @param unknown $encode 字符编码
    * @param unknown $start 开始位置
    * @param string $len 要截取的长度
    * @return string
    */
    function getStr($str,$encode,$start,$len=null)
    {
      switch ($encode)
      {
        case 'utf8':$num = 3;break;
        case 'gbk':$num = 2;break;
        case 'gb2312':$num = 2;break;
        default:
          echo '编码格式出错';exit;
      }
      $m=0;//开始截取位置
      for($a=0;$a<$start;$a++)
      {
        if(ord(substr($str, $m,1))>0xa0)//0xa0中文开始的值
        {
          $m+=$num;
        }else
        {
          $m++;
        }
      }
      $length = strlen($str);
      $n=1;//截取次数(截取多长,就截取几次)
      for ($i=$m;$i<$length;)
      {
        if(ord(substr($str, $i,1))>0xa0)
        {
          $sstr .= substr($str, $i ,$num);
          $i+=$num;
        }
        else
        {
          $sstr .= substr($str, $i ,1);
          $i++;
        }
        $n++;
        if ($len!==null){
          if($n>$len)break;//如果超出长度,跳出循环
        }
      }
      return $sstr;
    }

  • 相关阅读:
    vmware12中安装MAC OS X 10.10
    AOL search
    [python]错误检测及异常处理try-except
    [推荐]
    [python]打开文件操作open用法
    MAC使用小技巧
    [推荐]
    [python]python中的if, while, for
    [python]python字典
    [python]python列表、元组
  • 原文地址:https://www.cnblogs.com/walksnow/p/6011988.html
Copyright © 2020-2023  润新知