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 相关文章推荐
一个捕获函数输出的函数
Feb 14 PHP
phpmyadmin 访问被拒绝的真实原因
Jun 15 PHP
php学习笔记之面向对象编程
Dec 29 PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
Android AsyncTack 异步任务实例详解
Nov 02 PHP
在Laravel中使用DataTables插件的方法
May 29 PHP
php unlink()函数使用教程
Jul 12 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
php中字符串和整数比较的操作方法
Jun 06 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
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
PHP发送短信代码分享
2015/08/11 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
jquery实现多级下拉菜单的实例代码
2013/10/02 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
巧用canvas
2017/01/21 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
当vue路由变化时,改变导航栏的样式方法
2018/08/22 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
浅谈Python NLP入门教程
2017/12/25 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
python实现在pandas.DataFrame添加一行
2018/04/04 Python
python安装pywin32clipboard的操作方法
2019/01/24 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
公司接待方案
2014/03/08 职场文书
大一新生检讨书
2014/10/29 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
债务纠纷起诉书
2015/05/20 职场文书
python双向链表实例详解
2022/05/25 Python