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 相关文章推荐
PHP的面试题集,附我的答案和分析(一)
Nov 19 PHP
在PHP中使用模板的方法
May 24 PHP
php cookis创建实现代码
Mar 16 PHP
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
如何使用Strace调试工具
Jun 03 PHP
PHP资源管理框架Assetic简介
Jun 12 PHP
PHP实现加强版加密解密类实例
Jul 29 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
PHP实现无限级分类(不使用递归)
Oct 22 PHP
php数据访问之增删改查操作
May 09 PHP
PHP时间函数使用详解
Mar 21 PHP
PHP中SESSION过期设置
Mar 09 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设置编码格式的方法
2013/03/05 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
jquery 指南/入门基础
2007/11/30 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
Jquery中删除元素的实现代码
2011/12/29 Javascript
页面右下角弹出提示框示例代码js版
2013/08/02 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
Python中使用HTMLParser解析html实例
2015/02/08 Python
Python中存取文件的4种不同操作
2018/07/02 Python
python获取url的返回信息方法
2018/12/17 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
浅谈django channels 路由误导
2020/05/28 Python
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
全球知名的婚恋交友网站:Match.com
2017/01/05 全球购物
八年级英语教学反思
2014/01/09 职场文书
医院辞职信范文
2014/01/17 职场文书
小学综治宣传月活动总结
2014/07/02 职场文书
单位工资证明范本
2015/06/12 职场文书
Spring Boot实现文件上传下载
2022/08/14 Java/Android