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 24 PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
关于PHP的curl开启问题探讨
Apr 08 PHP
CodeIgniter CLI模式简介
Jun 17 PHP
php判断数组中是否存在指定键(key)的方法
Mar 17 PHP
php简单实现无限分类树形列表的方法
Mar 27 PHP
PHP中SESSION的注销与清除
Apr 16 PHP
php微信高级接口群发 多客服
Jun 23 PHP
Joomla框架实现字符串截取的方法示例
Jul 18 PHP
laravel migrate初学常见错误的解决方法
Oct 11 PHP
php微信开发之关注事件
Jun 14 PHP
PHP使用Session实现上传进度功能详解
Aug 06 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
与数据库连接
2006/10/09 PHP
PHP文件操作实现代码分享
2011/09/01 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
php目录拷贝实现方法
2015/07/10 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
nodejs实现聊天机器人功能
2019/09/19 NodeJs
jQuery实现轮播图源码
2019/10/23 jQuery
JS实现多选框的操作
2020/06/24 Javascript
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
python使用mailbox打印电子邮件的方法
2015/04/30 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
详解CSS3的perspective属性设置3D变换距离的方法
2016/05/23 HTML / CSS
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
银行领导证婚词
2014/01/11 职场文书
房产公证书样本
2015/01/23 职场文书
档案接收函格式
2015/01/30 职场文书
个人更名证明
2015/06/23 职场文书
人民调解协议书
2016/03/21 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
python munch库的使用解析
2021/05/25 Python
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技