php自定义截取中文字符串-utf8版

 更新时间:2017年02月27日 14:02:15   作者:沃茨贼死  
本文主要介绍了php自定义截取中文字符串的方法,具有很好的参考价值,下面跟着小编一起来看下吧

先说明:网上目前有很多这个问题的代码,但是很多都是复制粘贴,没有自己实践,而且代码有逻辑问题,下面的代码由我自己编写。

话不多说

/**
   * 该函数是对于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 < $len && $i < $strLen; $i++) {
      if(ord(substr($str, $i, 1)) > 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时,莫名其妙的浏览器头多出一行空行,在网上搜索一下,大致都是把文件保存为非BOM的UTF-8格式
    2011-03-03
  • php适配器模式介绍

    php适配器模式介绍

    Adapter(别名Wrapper)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器让原本接口不兼容的类可以合作无间
    2012-08-08
  • PHP脚本设置无限执行时间的四种方法

    PHP脚本设置无限执行时间的四种方法

    为 PHP 脚本设置无限执行时间是一个在特定场景下可能需要的操作,比如执行长时间运行的后台任务、数据迁移、大批量数据处理等,本文给大家介绍了为PHP脚本设置无限执行时间的四种方法,需要的朋友可以参考下
    2024-09-09
  • PHP中单例模式的使用场景与使用方法讲解

    PHP中单例模式的使用场景与使用方法讲解

    今天小编就为大家分享一篇关于PHP中单例模式的使用场景与使用方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • ini_set的用法介绍

    ini_set的用法介绍

    PHP ini_set用来设置php.ini的值,在函数执行的时候生效,对于虚拟空间来说,很方便,下面为大家介绍下此方法的使用
    2014-01-01
  • php导入大量数据到mysql性能优化技巧

    php导入大量数据到mysql性能优化技巧

    这篇文章主要介绍了php导入大量数据到mysql性能优化技巧,通过针对SQL语句的优化实现了mysql性能的提高,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • PHP curl模拟浏览器采集阿里巴巴的实现代码

    PHP curl模拟浏览器采集阿里巴巴的实现代码

    都说阿里巴巴有不能采集和防采集的神话,今天就用张老师讲的Curl采集写了一个模拟浏览器的代码。
    2011-04-04
  • PHP使用header()输出图片缓存实例

    PHP使用header()输出图片缓存实例

    这篇文章主要介绍了PHP使用header()输出图片缓存的方法,涉及使用缓存处理图形文件的技巧,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • PHP使用xmllint命令处理xml与html的方法

    PHP使用xmllint命令处理xml与html的方法

    这篇文章主要介绍了PHP使用xmllint命令处理xml与html的方法,较为详细的讲述了使用xmllint工具的各种命令处理XML文件与html的方法,是非常具有实用价值的技巧,需要的朋友可以参考下
    2014-12-12

最新评论