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文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
使用VisualStudio开发php的图文设置方法
Aug 21 PHP
PHP分页函数代码(简单实用型)
Dec 02 PHP
php INI配置文件的解析实现分析
Jan 04 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
使用配置类定义Codeigniter全局变量
Jun 12 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
Apr 17 PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
Apr 16 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
ThinkPHP 5.x远程命令执行漏洞复现
Sep 23 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中几种常见安全设置详解
2010/04/06 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
2017/07/08 jQuery
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
微信小程序JS加载esmap地图的实例详解
2019/09/04 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
Python第三方库xlrd/xlwt的安装与读写Excel表格
2017/01/21 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
wxPython实现画图板
2020/08/27 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
Python 实现一个计时器
2020/07/28 Python
python打包生成so文件的实现
2020/10/30 Python
Python 图片处理库exifread详解
2021/02/25 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
某公司Java工程师面试题笔试题
2016/03/27 面试题
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
金融事务专业求职信
2014/04/25 职场文书
2014年度个人工作总结
2014/11/07 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
化工厂员工工作总结
2015/10/15 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis