时时商务社区

标题: php自定义截取中文字符串-utf8版 [打印本页]

作者: wx_pylelnL4    时间: 2018-2-14 05:27

            先说明:网上目前有很多这个问题的代码,但是很多都是复制粘贴,没有自己实践,而且代码有逻辑问题,下面的代码由我自己编写。
话不多说
/**
   * 该函数是对于utf8编码
   * @author 2582308253@qq.com
   * @param string $str
   * @param int $start
   * @param int $length
   * @return string
   * @copyright 2017年2月27日下午1:46:10
   */
  function gbsubstr2($str, $start, $length) {
    $length = abs($length);
    $strLen = strlen($str);
    $len = $start + $length;
    $newStr = '';
    for($i = $start; $i  0xa0) {
        //utf8编码中一个汉字是占据3个字节的,对于其他的编码的字符串,中文占据的字节各有不同,自己需要去修改这个数a
        $newStr .= substr($str, $i, 3);//此处a=3;
        $i+=2;
        $len += 2; //截取了三个字节之后,截取字符串的终止偏移量也要随着每次汉字的截取增加a-1;
      } else {
        $newStr .= substr($str, $i, 1);
      }
    }
    return $newStr;
  }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
            
            
您可能感兴趣的文章:
  • php中计算中文字符串长度、截取中文字符串的函数代码
  • PHP统计目录中文件以及目录中目录大小的方法
  • PHP的Json中文处理解决方案
  • php简单统计中文个数的方法
  • php中文字符串截取多种方法汇总
  • php实现的简单中文验证码功能示例
  • php实现的中文分词类完整实例
  • php与javascript正则匹配中文的方法分析
  • PHP 实现字符串翻转(包含中文汉字)的实现代码
  • php自定义函数实现统计中文字符串长度的方法小结
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2