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
mysql数据库差异比较的PHP代码
Feb 05 PHP
PHP安全性漫谈
Jun 28 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
ThinkPHP的Widget扩展实例
Jun 19 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
PHP中创建图像并绘制文字的例子
Nov 19 PHP
作为程序员必知的16个最佳PHP库
Dec 09 PHP
PHP中substr函数字符串截取用法分析
Jan 07 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 PHP
PHP让网站移动访问更加友好方法
Feb 14 PHP
php输出文字乱码的解决方法
Oct 04 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 Warning: Module 'modulename' already loaded in问题解决办法
2015/03/16 PHP
10条php编程小技巧
2015/07/07 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
JavaScript 异步调用框架 (Part 3 - 代码实现)
2009/08/04 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
js数组的操作详解
2013/03/27 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
vue 表单验证按钮事件交由父组件触发的方法
2018/12/17 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
[49:35]LGD vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
[04:10]2018年度CS GO玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
在Python中用get()方法获取字典键值的教程
2015/05/21 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
python实现批量文件重命名
2019/10/31 Python
Keras中的两种模型:Sequential和Model用法
2020/06/27 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
2014年小学植树节活动方案
2014/03/02 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
财务人员个人工作总结
2015/02/27 职场文书
无房证明样本
2015/06/17 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书
入团申请书格式
2019/06/20 职场文书
对讲机的最大通讯距离是多少
2022/02/18 无线电