PHP 字符截取 解决中文的截取问题,不用mb系列


Posted in PHP onSeptember 29, 2009
function Cut_string($string, $start ,$sublen, $extstring='...', $code = 'UTF-8') {//Cut_string开始 
if($code == 'UTF-8') 
{ 
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"; 
preg_match_all($pa, $string, $t_string); 
if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen)).$extstring; 
return join('', array_slice($t_string[0], $start, $sublen)); 
} 
else 
{ 
$start = $start*2; 
$sublen = $sublen*2; 
$strlen = strlen($string); 
$tmpstr = ''; 
for($i=0; $i<$strlen; $i++) 
{ 
if($i>=$start && $i<($start+$sublen)) 
{ 
if(ord(substr($string, $i, 1))>129) 
{ 
$tmpstr.= substr($string, $i, 2); 
} 
else 
{ 
$tmpstr.= substr($string, $i, 1); 
} 
} 
if(ord(substr($string, $i, 1))>129) $i++; 
} 
if(strlen($tmpstr)<$strlen ) $tmpstr.= $extstring; 
return $tmpstr; 
} 
} //Cut_string结束
PHP 相关文章推荐
用文本作数据处理
Oct 09 PHP
php 用sock技术发送邮件的函数
Jul 21 PHP
PHP的array_diff()函数在处理大数组时的效率问题
Nov 27 PHP
解析php二分法查找数组是否包含某一元素
May 23 PHP
php猜单词游戏
Sep 29 PHP
PHP模拟post提交数据方法汇总
Feb 16 PHP
php批量删除操作代码分享
Feb 26 PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP 获取 ping 时间的实现方法
Sep 29 PHP
详解php中curl返回false的解决办法
Mar 18 PHP
PHP 观察者模式深入理解与应用分析
Sep 25 PHP
php 生成饼图 三维饼图
Sep 28 #PHP
php 不同编码下的字符串长度区分
Sep 26 #PHP
php 应用程序安全防范技术研究
Sep 25 #PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 #PHP
php 服务器调试 Zend Debugger 的安装教程
Sep 25 #PHP
php 代码优化的42条建议 推荐
Sep 25 #PHP
PHP下通过系统信号量加锁方式获取递增序列ID
Sep 25 #PHP
You might like
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
php中动态调用函数的方法
2015/03/16 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
IE8 中使用加速器(Activities)
2010/05/14 Javascript
基于jquery的DIV随滚动条滚动而滚动的代码
2012/07/20 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
为什么JavaScript中0.1 + 0.2 != 0.3
2020/12/03 Javascript
[00:57]林俊杰助阵DOTA2亚洲邀请赛
2015/01/28 DOTA
[00:03]DOTA2新版本PA至宝展示
2014/11/19 DOTA
Python xlwt设置excel单元格字体及格式
2020/04/18 Python
python3.4爬虫demo
2019/01/22 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
餐厅考勤管理制度
2014/01/28 职场文书
企业指导教师评语
2014/04/28 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
搞笑结婚保证书
2015/05/08 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
Apache Hudi数据布局黑科技降低一半查询时间
2022/03/31 Servers
Redis数据同步之redis shake的实现方法
2022/04/21 Redis