加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-05-12 12:52:08 所属栏目:PHP教程 来源:
导读:这篇文章主要介绍了支持中文和其他编码的php截取字符串函数示例(截取中文字符串),需要的朋友可以参考下。简单的字符串截取方法,支持中文和其他编码,传入相对应的参数直接调用就可以了,代码如下:/** * 字符串截取

这篇文章主要介绍了支持中文和其他编码的php截取字符串函数示例(截取中文字符串),需要的朋友可以参考下。

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

/** 

 * 字符串截取,支持中文和其他编码 

 * @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; 

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!