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


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 相关文章推荐
用cookies来跟踪识别用户
Oct 09 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
通达OA公共代码 php常用检测函数
Dec 14 PHP
解决File size limit exceeded 错误的方法
Jun 14 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
php数组随机排序实现方法
Jun 13 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 PHP
微信JSSDK分享功能图文实例详解
Apr 08 PHP
Laravel如何实现适合Api的异常处理响应格式
Jun 14 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+MySQL5.0中文乱码解决方法
2006/11/20 PHP
PHP获取url的函数代码
2011/08/02 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
2007/11/30 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
基于Vue单文件组件详解
2017/09/15 Javascript
JS实现简单获取最近7天和最近3天日期的方法
2018/04/18 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
如何在VUE中使用vue-awesome-swiper
2021/01/04 Vue.js
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
对Python 2.7 pandas 中的read_excel详解
2018/05/04 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
python SVD压缩图像的实现代码
2019/11/05 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
OpenCV哈里斯(Harris)角点检测的实现
2020/01/15 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
详解vscode实现远程linux服务器上Python开发
2020/11/10 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
大学共青团员个人自我评价
2014/04/16 职场文书
求职信内容怎么写
2014/05/26 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
大学生自我评价范文
2015/03/03 职场文书
地道战观后感400字
2015/06/04 职场文书
化验室安全管理制度
2015/08/06 职场文书
python 提取html文本的方法
2021/05/20 Python