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分页函数
Jul 08 PHP
dedecms中显示数字验证码的修改方法
Mar 21 PHP
深入解析php模板技术原理【一】
Jan 10 PHP
PHP zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 PHP
php中实现精确设置session过期时间的方法
Jul 17 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
Jul 06 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
php实现多站点共用session实现单点登录的方法详解
Sep 18 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
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
解析php类的注册与自动加载
2013/07/05 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
JS查看对象功能代码
2008/04/25 Javascript
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
使用jQuery动态加载js脚本文件的方法
2014/04/03 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
nodejs多版本管理总结
2018/04/03 NodeJs
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
简化vuex的状态管理方案的方法
2018/06/02 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
详解Swift中属性的声明与作用
2016/06/30 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
利用CSS3 动画 绘画 圆形动态时钟
2018/03/20 HTML / CSS
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
40岁生日感言
2014/02/15 职场文书
美术社团活动总结
2014/06/27 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
孝女彩金观后感
2015/06/10 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL