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+DBM的同学录程序(5)
Oct 09 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
Nov 27 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
PHP的魔术常量__METHOD__简介
Jul 08 PHP
php针对cookie操作的队列操作类实例
Dec 10 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
php编写批量生成不重复的卡号密码代码
May 14 PHP
简单的pgsql pdo php操作类实现代码
Aug 25 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
浅谈php中变量的数据类型判断函数
Mar 04 PHP
PHP的mysqli_ssl_set()函数讲解
Jan 23 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 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文章按日期(月日)SQL归档语句
2012/11/29 PHP
PHP循环结构实例讲解
2014/02/10 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
奇妙的js
2007/09/24 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
2014/05/13 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
解决python 输出是省略号的问题
2018/04/19 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python字典对象实现原理详解
2019/07/01 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
python中必要的名词解释
2019/11/20 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
机电专业体育教师求职信
2013/09/21 职场文书
医务人员自我评价
2014/01/26 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
工作报告范文
2019/06/20 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
晶体管来复再生式二管收音机
2021/04/22 无线电
详解Python如何批量采集京东商品数据流程
2022/01/22 Python