支持中文和其他编码的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加MYSQL服务器
Oct 09 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
PHP中redis的用法深入解析
Feb 20 PHP
跟我学Laravel之配置Laravel
Oct 15 PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 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 UTF8编码内的繁简转换类
2009/07/20 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
php计算title标题相似比的方法
2015/07/29 PHP
功能强大的PHP发邮件类
2016/08/29 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
Javascript MD4
2006/12/20 Javascript
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
修复IE9&safari 的sort方法
2011/10/21 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
深入探讨前端框架react
2015/12/09 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
Python实现屏幕截图的代码及函数详解
2016/10/01 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
python tornado微信开发入门代码
2018/08/24 Python
python定时任务 sched模块用法实例
2019/11/04 Python
python 读取、写入txt文件的示例
2020/09/27 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
七匹狼男装广告词
2014/03/21 职场文书
企业授权委托书范本
2014/04/02 职场文书
校园文明倡议书
2014/05/16 职场文书
企业理念标语
2014/06/09 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
读后感作文评语
2014/12/25 职场文书
创业计划书之干洗店
2019/09/10 职场文书