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 相关文章推荐
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
用PHPdig打造属于你自己的Google[图文教程]
Feb 14 PHP
解析php扩展php_curl.dll不加载的解决方法
Jun 26 PHP
PHP自动识别字符集并完成转码详解
Aug 02 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
php抽象类使用要点与注意事项分析
Feb 09 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 PHP
php生成短网址/短链接原理和用法实例分析
May 29 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
Mar 09 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实现文件安全下载
2006/10/09 PHP
php获取文件大小的方法
2014/02/26 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
php函数与传递参数实例分析
2014/11/15 PHP
php析构函数的简单使用说明
2015/08/24 PHP
学习jquery之一
2007/04/27 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
jQuery实现鼠标移到元素上动态提示消息框效果
2013/10/20 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
python中星号变量的几种特殊用法
2016/09/07 Python
Flask之flask-script模块使用
2018/07/26 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
Java里面如何创建一个内部类的实例
2015/01/19 面试题
傲盾软件面试题
2015/08/17 面试题
介绍一下grep命令的使用
2012/06/28 面试题
优秀的应届生自荐信
2014/05/23 职场文书
工作收入证明范本
2015/06/12 职场文书
货款欠条范本
2015/07/03 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技