在我们学习PHP知识的过程中,PHP截取字符串应该是一个非常常见的字符串基础操作了,想必大家都比较熟悉这方面知识点。但是有些新手朋友们可能遇到过,当截取中英文字符串时出现乱码的情况,其实这个也是非常容易解决的。首先我们要了解关于中英文占多少字节的问题。ASCII码:一个中文汉字占两个字节的空间。UTF-8编码:一个中文(含繁体)等于三个字节。Unicode编码:一个中文(含繁体)等于两个字节。

下面我们就通过几个简单的代码示例为大家详细介绍关于PHP截取中英字符串且无乱码的相关知识。一、关于substr函数截取字符串<?phpecho substr("PHP中文网", 0, 5);substr:返回字符串的子串。substr()中第一个参数表示要截取的字符串,第二个参数表示从0位置开始截取,第三个参数表示截取长度。截取“PHP中文网”前5个字节,结果如下:
如图显示乱码,也就是说当我们使用substr函数进行中英文字符串截取时,会出现乱码。二、关于mb_substr函数截取字符串<?phpecho mb_substr("PHP中文网", 0, 5);mb_substr:获取部分字符串。截取“PHP中文网”前5个字符,结果如下:
如图截取了前五个字符,并且没有出现乱码。注:mb_substr是根据字符数来执行截取字符串。三、关于mb_strcut函数截取字符串<?phpecho mb_strcut("PHP中文网", 0, 7);截取“PHP中文网”前7个字节,结果如下:

从图中可以看到,我们要截取7个字节,但是只显示截取了“PHP中”这6个字节。由于一个汉字等于三个字节,那么这里第7个字节就不会显示了。

综上所述,如果大家遇到要截取中文字符串并无乱码的需求时,可以选择后两种方法(mb_substr()和mb_strcut())

转载于:https://www.cnblogs.com/sgm4231/p/9771496.html

PHP实现中文字符串截取无乱码相关推荐

  1. 实现中文字符串截取无乱码的方法

    小伙伴们大家好,使用substr()截取中文字符乱码的问题怎么解决呢? 看下面的方法: 方法一: 使用php内置函数mb_substr():      mb_substr( $str, $start, ...

  2. php 中文字符串截取无乱码,php实现中文字符串无乱码截取

    在PHP开发中会经常用到字符串截取,有的时候字符串截取会出现乱码的情况,那么怎么解决这个问题呢,其实也很容易 首先我们要了解关于中英文占多少字节的问题. ASCII码:一个中文汉字占两个字节的空间. ...

  3. php 字符串 中文,php实现中文字符串截取无乱码

    在PHP中经常使用substr来进行字符串的截取,但是当我们用它来实现对中文字符进行截取的时候则会发生乱码问题,比如说:(推荐学习:PHP编程从入门到精通)<?php $mystring=&qu ...

  4. PHP 实现中文截取无乱码的方法

    PHP 实现中文截取无乱码的方法 需知: 中文字符在gbk编码下为2个字符,utf-8下为3个字符 中文字符的ASCII值是从0xa0后开始的 通过ord()函数可以返回字符串中第一个字符的ASCII ...

  5. php 中文截断,PHP中实现中文字串截取无乱码的解决方法

    在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr的长度参数是按照字节去算的,在GB2312编码时,一个中文占2个字节, ...

  6. php 字符串 中文,PHP的中文字符串截取

    在PHP中,substr()函数截取带有中文字符串的话,可能会出现乱码,这是因为中西文一个字节所占有的字节数不一样,而substr()的长度参数是按照字节去算的.substr()截取位数不准确,sub ...

  7. php 中英文截取 php,PHP 中英文截取无乱码

    在学习MySql 字符集时,解决了PHP中英文截取无乱码的问题.这个方法的核心在于判断取多少个字节上. //PHP中英文截取无乱码 header('Content_type=text/php;char ...

  8. php截取中文第一个字,php中的一个中文字符串截取函数

    PHP代码: -------------------------------------------------------------------------------- /** ***@Auth ...

  9. php 中文 处理,PHP处理中文字符串截取

    截取200个字 mb_substr(strip_tags($content),0,200,'utf-8') strip_tags:剥去字符串中的 HTML 标签 一.中文截取:mb_substr() ...

最新文章

  1. Gradle 修改 Maven 仓库地址(阿里镜像)
  2. python函数里面引用外部变量_Python基础 变量进阶
  3. 神秘的.user.ini文件
  4. [转载] Go语言的自重写程序
  5. Win10彻底关闭Antimalware Service Executable占用内存过高问题
  6. Spring Cloud Bus消息总线(学习总结)
  7. Appium系列教程
  8. 5个音效素材网站,赶紧收藏
  9. 【对讲机的那点事】带你玩转宝锋UV6R对讲机(四)
  10. 6-10 找出大于num的最小素数
  11. java heap space默认值_java heap space
  12. ReactNative Animated动画详解
  13. IT人,自我营销,你懂吗?
  14. 维谛技术(Vertiv):一切研发创新都以客户需求为核心
  15. Jenkins日程配置说明
  16. shell脚本 sh shebang “#!/bin/sh“
  17. wmi 计算机应用程序,WMI 提供程序宿主程序 (Wmiprvse.exe) 已安装 NLB 功能的基于 Windows Server 2008 的计算机上可能会崩溃...
  18. 分支-12. 计算火车运行时间
  19. Ubuntu18.04 搜狗输入法不能输入中文问题、
  20. Hannah荣获第六季完美童模全球总决赛全球人气总冠军

热门文章

  1. Spring Boot配置跨域访问策略
  2. [QUICK UI] 有哪些目前流行的前端框架
  3. gzip和gunzip 解压参数
  4. VC2010“添加资源-引入JPG图片”会改变图片大小
  5. 图文:详解数据库Oracle 11g的基本安装
  6. .Net开发人员应该下载的十种必备工具(二)
  7. [react] 类组件和函数式组件有什么区别?
  8. [vue] vue-loader是什么?它有什么作用?
  9. [css] 你是怎样对css文件进行压缩合并的?
  10. 前端学习(2614):action的方法