解决中英文字符串长度问题函数


Posted in PHP onJanuary 16, 2007
function strSplit($s, $len) { 
    $end = '…'; 
    $result = ''; 
    $strLen = strlen($s); 
    if ($strLen <= $len) { 
        return $s; 
    } 
    $len -= 2; 
    for ($i=0; $i<$len && $i<$strLen; $i++) { 
        $c = $s[$i]; 
        if (ord($c) < 0x80) { 
            $result .= $c; 
        } elseif ($i+1<$len) { 
            $result .= $s[$i++] . $s[$i]; 
        } 
    } 
    return ($i < $strLen) ? ($result . $end) : $result; 
} echo strSplit('1234567', 10), '<br />'; 
echo strSplit('1234567890', 10), '<br />'; 
echo strSplit('1234中文567890abcdefghijkl', 10), '<br />'; 
echo strSplit('全部都是中文', 10), '<br />'; 
echo strSplit('全a部b都c是d中e文', 10), '<br />';  
输出: 
1234567 
1234567890 
1234中文… 
全部都是… 
全a部b都… 
PHP 相关文章推荐
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
PHP return语句另类用法不止是在函数中
Sep 17 PHP
从wamp到xampp的升级之路
Apr 08 PHP
php中关于socket的系列函数总结
May 18 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
Symfony生成二维码的方法
Feb 04 PHP
深入解析PHP的Yii框架中的event事件机制
Mar 17 PHP
PHP中SERIALIZE和JSON的序列化与反序列化操作区别分析
Oct 11 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
PHP下载大文件失败并限制下载速度的实例代码
May 10 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
在数据量大(超过10万)的情况下
Jan 15 #PHP
php防注
Jan 15 #PHP
PHP 的 __FILE__ 常量
Jan 15 #PHP
MySQL相关说明
Jan 15 #PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Jan 15 #PHP
关于mysql 字段的那个点为是定界符
Jan 15 #PHP
最令PHP初学者们头痛的十四个问题
Jan 15 #PHP
You might like
php观察者模式应用场景实例详解
2017/02/03 PHP
PHP文件操作实例总结【文件上传、下载、分页】
2018/12/08 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
2019/01/16 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
win7安装python生成随机数代码分享
2013/12/27 Python
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
pandas 时间格式转换的实现
2019/07/06 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
电气自动化大学生求职信
2013/10/16 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
小学敬老月活动方案
2014/02/11 职场文书
入学申请自荐信范文
2014/02/26 职场文书
高三家长寄语
2014/04/03 职场文书
临时租车协议范本
2014/09/23 职场文书
技术员岗位职责范本
2015/04/11 职场文书
交通事故被告答辩状
2015/05/22 职场文书
雷锋的故事观后感
2015/06/10 职场文书
大学校园招聘会感想
2015/08/10 职场文书