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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)续四
Apr 03 PHP
php中文字母数字验证码实现代码
Apr 25 PHP
PHP n个不重复的随机数生成代码
Jun 23 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
PHP连接MySQL的2种方法小结以及防止乱码
Mar 11 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
Dec 24 PHP
分享ThinkPHP3.2中关联查询解决思路
Sep 20 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
Jul 25 PHP
PHP实现webshell扫描文件木马的方法
Jul 31 PHP
PHP控制循环操作的时间
Apr 01 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
海贼王:最美的悬赏令!
2020/03/02 日漫
PHP学习之PHP变量
2006/10/09 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
Yii框架弹出框功能示例
2017/01/07 PHP
WHOOPS PHP调试库的使用
2017/09/29 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
js+div实现图片滚动效果代码
2014/02/10 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
2019/01/04 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
python查询mysql中文乱码问题
2014/11/09 Python
python访问系统环境变量的方法
2015/04/29 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
综合测评自我鉴定
2013/10/08 职场文书
餐饮加盟计划书
2014/01/10 职场文书
图书室管理制度
2014/01/19 职场文书
教师党员个人自我评价
2015/03/04 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
python pygame入门教程
2021/06/01 Python
Navicat连接MySQL错误描述分析
2021/06/02 MySQL