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


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作的文本留言本的例子(三)
Oct 09 PHP
用Flash图形化数据(一)
Oct 09 PHP
php 中文字符串首字母的获取函数分享
Nov 04 PHP
php的ddos攻击解决方法
Jan 08 PHP
使用GD库生成带阴影文字的图片
Mar 27 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
Nov 28 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
PHP SESSION机制的理解与实例
Mar 22 PHP
PHP抽象类与接口的区别实例详解
May 09 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 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-fpm配置详解
2014/02/12 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
JavaScript保留两位小数的2个自定义函数
2014/05/05 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
基于HTML模板和JSON数据的JavaScript交互(移动端)
2016/04/06 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python基础篇之初识Python必看攻略
2016/06/23 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
linux下进程间通信的方式
2013/01/23 面试题
毕业研究生的自我鉴定
2013/11/30 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
党员教师自我剖析材料
2014/09/29 职场文书
教师三严三实心得体会
2014/10/11 职场文书
北京故宫导游词
2015/01/31 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
JAVA API 实用类 String详解
2021/10/05 Java/Android
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL