文档章节

TP之msubstr()

freedonn
 freedonn
发布于 2014/09/13 08:45
字数 94
阅读 89
收藏 0

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);

        }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;

    }


本文转载自:

共有 人打赏支持
上一篇: jquery之index()
freedonn
粉丝 25
博文 258
码字总数 16565
作品 0
潍坊
程序员
私信 提问
加载中

评论(2)

freedonn
freedonn

引用来自“91tel”的评论

垃圾算法,效率极低
为什么这么说?
charmfocus
charmfocus
垃圾算法,效率极低
中英文字符串截取函数msubstr

Thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便。调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的函数供大家调用。 比如今天我们说的...

silents
2016/08/02
8
0
python --int 对象

1.int对象的定义:typedef struct { } PyIntObject; Pyint_Type:PyTypeObject PyInt_Type = { }; 初始化 int_compare:...

hyhlinux
2016/05/25
23
0
短信中VB.NET编码PDU(二)

EMS——ConcatenatedShortMessage部分 编码EMS较SMS复杂,但每条EMS的基础还是SMS,所以我直接继承了SMS类。区别主要是要处理好TPUD和IE。对于ConcatenatedShortMessage,由于其IE和TPUDHL占...

金笛子
2015/11/02
0
0
短信部分——PDU简介及其格式

(九) 短信部分——PDU简介及其格式   PDU是大多数手机短信通讯的核心,仅有少数手机只支持Text模式(例如笔者的MOTO C330)。PDU模式比起Text模式可以提供能为强大的功能,但其编码较Text模...

zhengyijie
2014/02/17
0
0
PDU的编码--EMS编码

编码EMS较SMS复杂,但每条EMS的基础还是SMS,所以我直接继承了SMS类。区别主要是要处理好TPUD和IE。对于ConcatenatedShortMessage,由于其IE和TPUDHL占据了TP_UD的部分空间,所以每条短信英文...

金笛子
2016/01/06
11
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 哽住

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蓝瞳 :分享高橋広樹的单曲《銀河沿線'05<Vo>》:一直暗恋却无法表白的女孩在电车上疲倦不堪累得靠在他的肩上,播磨拳儿终于忍不住流下了眼泪...

小小编辑
41分钟前
79
5
shell输入内容时不显示内容

简介 大家都知道当我们ssh登录linux服务器的时候输入密码密码是不显示在屏幕上的,同样在我们写shell脚本的时候在获取用户密码的时候,有时候也希望不显示密码,这个是怎么做的呢 实例脚本 ...

bboysoulcn
今天
3
0
第11章 多线程

程序、进程、线程 程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 **进程(process)**是程序的一次执行过程或是正在运行的一个程序。动...

流小文
今天
6
0
SpringBoot引入第三方jar包或本地jar包的处理方式

在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 - 第一种是将本地jar包安装在本地maven库 - 第二种是将本地j...

独钓渔
今天
2
0
五、MyBatis缓存

一、MyBatis缓存介绍 缓存的使用可以明显的加快访问数据速度,提升程序处理性能,生活和工作中,使用缓存的地方很多。在开发过程中,从前端-->后端-->数据库等都涉及到缓存。MyBatis作为数据...

yangjianzhou
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部