PHP实现中文字符串切取无乱码
作者:bea
很多地方我们都会遇到切取字符串的一部分,但是我们烦恼的是切取出的字符串可能出现乱码。比方说我们要给一篇文章实现分页来显示,那么我们就要将文章分为几个部分来显示,这是我们要来给文章分段啦。如何使你分段的字符串没有乱码呢?这里教大家一个函数来实现。 原理:我们通过返回字符串的ASCII码值来判断当前字符是单字节的还是多字节的字符。如果字符串返回的ASCII码值是0xa0,那么我们就认为该字符就是多字节的,也就是汉字字符。使用PHP中的ord()函数可以返回字符的ASCII码值。
很多地方我们都会遇到切取字符串的一部分,但是我们烦恼的是切取出的字符串可能出现乱码。比方说我们要给一篇文章实现分页来显示,那么我们就要将文章分为几个部分来显示,这是我们要来给文章分段啦。如何使你分段的字符串没有乱码呢?这里教大家一个函数来实现。
原理:我们通过返回字符串的ASCII码值来判断当前字符是单字节的还是多字节的字符。如果字符串返回的ASCII码值是0xa0,那么我们就认为该字符就是多字节的,也就是汉字字符。使用PHP中的ord()函数可以返回字符的ASCII码值。这里我们值得注意的是如果你使用的编码是GBK或者GB2312国标码的话,那么一个汉字是2个字节;如果使用的是UTF-8的话,那么一个汉字就是3个字节,这点大家一定要注意。
functionGBsubstr($string,$start,$length){
if(strlen($string)>$length){
$str=null;
$len=$start+$length;
for($i=$start;$i0xa0){
$str.=substr($string,$i,2); //如果使用的编码是UTF8的话处为3,且下面再加一个$i++;
$i++;
}else{
$str.=substr($string,$i,1);
}
}
return$str.'...';
}else{
return$string;
}
}
有用 | 无用猜你喜欢
您可能感兴趣的文章:
- 根据编程语言排行榜选择编程语言
- 整理PHP文件上传后缀与文件类型对照表
- PHP文件处理函数fopen()打开文件问题
- PHP输出指定目录下的所有文件
- 说说PHP框架的基本原理和优点
- memcache的安装方法和使用注意
- memcache的工作原理解析
- 阅读一套PHP开源软件的方法和步骤
- vim设置默认字体、窗口大小和配色方案
- PHP快速入门之PHP视频教程推荐
- PHP编程入门之制作一个表单提交
- 基于PHP编写的blog博客推荐
- PHP blog wordpress使用感受
- PHP blog wordpress简单介绍
- AJAX中文乱码解决方法
- wordpress插件wp-pagenavi使用和安装
- wordpress添加新页面没有模板选项
- wordpress在IIS环境下实现伪静态
- Apache环境设置默认打开页面方法