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


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 相关文章推荐
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
Dec 06 PHP
PHP 基本语法格式
Dec 15 PHP
PHP 开发环境配置(测试开发环境)
Apr 28 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
适用于抽奖程序、随机广告的PHP概率算法实例
Apr 09 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 PHP
php 问卷调查结果统计
Oct 08 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
Yii2结合Workerman的websocket示例详解
Sep 10 PHP
Laravel框架路由管理简单示例
May 07 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中常见的缓存技术实例分析
2015/09/23 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
英国手机零售商:Metrofone
2019/03/18 全球购物
澳大利亚体育和露营装备在线/实体零售商:Find Sports
2020/06/03 全球购物
幼儿园中班教师寄语
2014/04/03 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
本科毕业生求职信
2014/06/15 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
工厂标语大全
2014/10/06 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
一个都不能少观后感
2015/06/04 职场文书
结婚十年感言
2015/07/31 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL