php中支持多种编码的中文字符串截取函数!


Posted in PHP onMarch 20, 2007

支持多种编码的中文字符串截取函数!  

/*   
  * @todo 中文截取,支持gb2312,gbk,utf-8,big5    
  *   
  * @param string $str 要截取的字串   
  * @param int $start 截取起始位置   
  * @param int $length 截取长度   
  * @param string $charset utf-8|gb2312|gbk|big5 编码    
  * @param $suffix 是否加尾缀   
  */    function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)   
{   
 if(function_exists("mb_substr"))   
  return mb_substr($str, $start, $length, $charset);   
 $re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";    
 $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";   
 $re['gbk']   = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";   
 $re['big5']   = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";    
 preg_match_all($re[$charset], $str, $match);   
 $slice = join("",array_slice($match[0], $start, $length));   
 if($suffix) return $slice."…";   
 return $slice;   
} 
PHP 相关文章推荐
台湾中原大学php教程孙仲岳主讲
Jan 07 PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 PHP
PHP XML数据解析代码
May 26 PHP
php获取新浪微博数据API实例
Nov 12 PHP
php中file_exists函数使用详解
May 08 PHP
教大家制作简单的php日历
Nov 17 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 PHP
Yii2实现log输出到file及database的方法
Nov 12 PHP
php版微信小店调用api示例代码
Nov 12 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
PHP基于swoole多进程操作示例
Aug 12 PHP
理解PHP5中static和const关键字的区别
Mar 19 #PHP
php中目录,文件操作详谈
Mar 19 #PHP
PHP配置文件中最常用四个ini函数
Mar 19 #PHP
推荐一篇入门级的Class文章
Mar 19 #PHP
隐藏你的.php文件的实现方法
Mar 19 #PHP
生成静态页面的php函数,php爱好者站推荐
Mar 19 #PHP
php分页示例代码
Mar 19 #PHP
You might like
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
PHP替换Word中变量并导出PDF图片的实现方法
2020/11/26 PHP
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
formvalidator验证插件中有关ajax验证问题
2013/01/04 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
整理一下常见的IE错误
2016/11/18 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
Python的Flask开发框架简单上手笔记
2015/11/16 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
使用python编写监听端
2018/04/12 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
2018/06/14 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
PyTorch-GPU加速实例
2020/06/23 Python
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
行政管理人员精品工作推荐信
2013/11/04 职场文书
丧事主持词大全
2014/04/02 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
机关作风建设心得体会
2014/10/22 职场文书
安装工程师岗位职责
2015/02/13 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
Python基础之pandas数据合并
2021/04/27 Python
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis
TypeScript 使用 Tuple Union 声明函数重载
2022/04/07 Javascript
MongoDB修改oplog大小的四种方法
2022/04/11 MongoDB
Python实现Matplotlib,Seaborn动态数据图
2022/05/06 Python