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


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脚本的10个技巧(4)
Oct 09 PHP
PHP 编写的 25个游戏脚本
May 11 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
openPNE常用方法分享
Nov 29 PHP
php 定义404页面的实现代码
Nov 19 PHP
php+mysql查询优化简单实例
Jan 13 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
PHP防止图片盗用(盗链)的方法小结
Nov 11 PHP
php PDO异常处理详解
Nov 20 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
php简单实现单态设计模式的方法分析
Jul 28 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
常用PHP框架功能对照表
2014/10/23 PHP
php 常用的系统函数
2017/02/07 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013/05/13 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
[00:09]DOTA2全国高校联赛 精彩活动引爆全场
2018/05/30 DOTA
Python sys.path详细介绍
2013/10/17 Python
Python操作列表的常用方法分享
2014/02/13 Python
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
python中enumerate函数用法实例分析
2015/05/20 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
货代行业个人求职简历的自我评价
2013/10/22 职场文书
阳光体育活动方案
2014/02/16 职场文书
竞聘演讲稿
2014/04/24 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书