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图片验证码代码
Mar 27 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
Oct 03 PHP
php 发送带附件邮件示例
Jan 23 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
详细解读PHP中接口的应用
Aug 12 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
Dec 14 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
PHP编程一定要改掉的5个不良习惯
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
PHP中$_SERVER的详细参数与说明
2008/07/29 PHP
php设计模式 Command(命令模式)
2011/06/26 PHP
php生成QRcode实例
2014/09/22 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
为你的网站增加亮点的9款jQuery插件推荐
2011/05/03 Javascript
让你的CSS像Jquery一样做筛选的实现方法
2011/07/10 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
2015/12/04 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
浅析vue深复制
2018/01/29 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
详解jQuery中的getAll()和cleanData()
2019/04/15 jQuery
Vue this.$router.push(参数)实现页面跳转操作
2020/09/09 Javascript
Python模拟登陆实现代码
2017/06/14 Python
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
Python ellipsis 的用法详解
2020/11/20 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
Julep官网:美容产品和指甲油
2017/02/25 全球购物
英国工具中心:UK Tool Centre
2017/07/10 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
三分钟演讲稿范文
2014/04/24 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
银行转正自我鉴定
2014/09/29 职场文书
六查六看六改心得体会
2014/10/14 职场文书
奖励通知
2015/04/22 职场文书
复活读书笔记
2015/06/29 职场文书
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
MySQL中的隐藏列的具体查看
2021/09/04 MySQL