当前位置: 首页 > 编程笔记 >

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

唐海阳
2023-03-14
本文向大家介绍php自定义截取中文字符串-utf8版,包括了php自定义截取中文字符串-utf8版的使用技巧和注意事项,需要的朋友参考一下

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

话不多说

/**
   * 该函数是对于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中文字符串截取多种方法汇总的使用技巧和注意事项,需要的朋友参考一下 1. 截取GB2312中文字符串 2. 截取utf8编码的多字节字符串 3. UTF-8、GB2312都支持的汉字截取函数 4. BugFree 的字符截取函数 以上就是本文的全部内容,希望对大家有所帮助,希望大家继续关注呐喊教程的最新内容。

  • 本文向大家介绍PHP指定截取字符串中的中英文或数字字符的实例分享,包括了PHP指定截取字符串中的中英文或数字字符的实例分享的使用技巧和注意事项,需要的朋友参考一下 我们在开发过程中,经常会碰到截取中文英文数字等的问题,大家知道中文所占的字符和英文数字是不同的;然后我们就会在项目的common里写一些日常的函数包含时间计算转换和中英文字符截取的函数;比如截取中英文的函数没个几行代码恐怕拿不下来的吧,

  • 本文向大家介绍php截取字符串函数分享,包括了php截取字符串函数分享的使用技巧和注意事项,需要的朋友参考一下 经常看到有新手问PHP有没有类似asp的left函数或right函数,实现截取某字符串左边或右边开始N个字符的函数。答案当然是有的。PHP中的substr函数就可以做的到,只不过PHP把二个函数合二为一了,这里再给大家分享一个更加优秀的截取字符串的函数。 以上就是本文的全部内容,希望大家

  • 本文向大家介绍php mb_substr()函数截取中文字符串应用示例,包括了php mb_substr()函数截取中文字符串应用示例的使用技巧和注意事项,需要的朋友参考一下 substr()函数用来截取字符串,但是对于中文字符会出现问题,而mb_substr()和mb_strcut这两个函数可以,用法与substr()相似,只是在函数最后要加入多一个参数,以设定字符串的编码,使用这两个函数需要在

  • substr key start end 返回截取过的key的字符串值,注意并不修改key的值。下标是从0开始的

  • 主要内容:获取单个字符,获取多个字符(字符串截去/字符串切片)从本质上讲,字符串是由多个字符构成的,字符之间是有顺序的,这个顺序号就称为索引(index)。 Python 允许通过索引来操作字符串中的单个或者多个字符,比如获取指定索引处的字符,返回指定字符的索引值等。 获取单个字符 知道字符串名字以后,在方括号 中使用索引即可访问对应的字符,具体的语法格式为: strname[index] strname 表示字符串名字,index 表示索引值。 Pytho