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 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
一步一步学习PHP(6) 面向对象
Feb 16 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 PHP
Joomla使用Apache重写模式的方法
May 04 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
php处理抢购类功能的高并发请求
Feb 08 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
360搜索引擎自动收录php改写方案
Apr 28 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
PHP html_entity_decode()函数讲解
Feb 25 PHP
phpQuery采集网页实现代码实例
Apr 02 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下统计用户在线时间的一种尝试
2010/08/26 PHP
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
PHP7 弃用功能
2021/03/09 PHP
javascript 对象的定义方法
2007/01/10 Javascript
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python中常见的数据类型小结
2015/08/29 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
2019/01/19 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
python实现简单学生信息管理系统
2020/04/09 Python
曼联官方网上商店:Manchester United Direct
2017/07/28 全球购物
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers