支持中文和其他编码的php截取字符串函数分享(截取中文字符串)


Posted in PHP onMarch 13, 2014

简单的字符串截取方法,支持中文和其他编码,传入相对应的参数直接调用就可以了

/**
 * 字符串截取,支持中文和其他编码
 * @static
 * @access public
 * @param string $str 需要转换的字符串
 * @param string $start 开始位置
 * @param string $length 截取长度
 * @param string $charset 编码格式
 * @param string $suffix 截断显示字符
 * @return string
 */
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) {
    if(function_exists("mb_substr"))
        $slice = mb_substr($str, $start, $length, $charset);
    elseif(function_exists('iconv_substr')) {
        $slice = iconv_substr($str,$start,$length,$charset);
        if(false === $slice) {
            $slice = '';
        }
    }else{
        $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));
    }
    return $suffix ? $slice.'...' : $slice;
}
PHP 相关文章推荐
PHP安装问题
Oct 09 PHP
PHP4之COOKIE支持详解
Oct 09 PHP
PHP eval函数使用介绍
Dec 08 PHP
php使用pack处理二进制文件的方法
Jul 03 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
php文件上传的两种实现方法
Apr 04 PHP
PHP构造函数与析构函数用法示例
Sep 28 PHP
PHP利用二叉堆实现TopK-算法的方法详解
Apr 24 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
详解json在php中的应用
Sep 30 PHP
PHP7 list() 函数修改
Mar 09 PHP
zf框架的数据库追踪器使用示例
Mar 13 #PHP
zf框架的校验器InArray使用示例
Mar 13 #PHP
zf框架的session会话周期及次数限制使用示例
Mar 13 #PHP
zf框架的registry(注册表)使用示例
Mar 13 #PHP
zf框架的Filter过滤器使用示例
Mar 13 #PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 #PHP
使用PHP导出Redis数据到另一个Redis中的代码
Mar 12 #PHP
You might like
php汉字转拼音的示例
2014/02/27 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
php计算整个目录大小的方法
2015/06/01 PHP
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
浅谈PHP错误类型及屏蔽方法
2017/05/27 PHP
php实现微信支付之退款功能
2018/05/30 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
js类 from qq
2006/11/13 Javascript
Javascript valueOf 使用方法
2008/12/28 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
基于python实现从尾到头打印链表
2019/11/02 Python
python 串行执行和并行执行实例
2020/04/30 Python
TensorFlow固化模型的实现操作
2020/05/26 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
如何从csv文件构建Tensorflow的数据集
2020/09/21 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
css3类选择器之结合元素选择器和多类选择器用法
2017/03/09 HTML / CSS
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
FILA德国官方网站:来自意大利的体育和街头服饰品牌
2019/07/19 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
大学生咖啡店创业计划书
2014/01/21 职场文书
经典洗发水广告词
2014/03/13 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
实习协议书范本
2014/04/22 职场文书
建筑安全责任书范本
2014/07/24 职场文书
开票证明
2015/06/23 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
利用python做表格数据处理
2021/04/13 Python