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


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中http_build_query 的一个问题
Mar 25 PHP
php操作mysqli(示例代码)
Oct 28 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
Mar 07 PHP
php比较两个字符串长度的方法
Jul 13 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 PHP
PHP+AJAX 投票器功能
Nov 11 PHP
PHP实现类似题库抽题效果
Aug 16 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
laravel通用化的CURD的实现
Dec 13 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基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
JS模块与命名空间的介绍
2013/03/22 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
2016/06/10 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
python实现apahce网站日志分析示例
2014/04/02 Python
Python中获取对象信息的方法
2015/04/27 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
Python 实现简单的shell sed替换功能(实例讲解)
2017/09/29 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
基于python代码批量处理图片resize
2020/06/04 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
Python是怎样处理json模块的
2020/07/16 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
高中班长自我鉴定
2013/12/20 职场文书
镇创先争优活动总结
2014/08/28 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
2014年车间工作总结
2014/11/21 职场文书
边城读书笔记
2015/06/29 职场文书
幼儿园教师管理制度
2015/08/05 职场文书
幼儿园教师教育随笔
2015/08/14 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript
Go语言编译原理之源码调试
2022/08/05 Golang