Jquery截取中文字符串的实现代码


Posted in Javascript onDecember 22, 2010
function cut_str($sourcestr,$cutlength) { 
$returnstr=''; 
$i=0; 
$n=0; 
$str_length=strlen($sourcestr);//字符串的字节数 
while (($n<$cutlength) and ($i<=$str_length)) 
{ 
$temp_str=substr($sourcestr,$i,1); 
$ascnum=Ord($temp_str);//得到字符串中第$i位字符的ascii码 
if ($ascnum>=224) //如果ASCII位高与224, 
{ 
//根据UTF-8编码规范,将3个连续的字符计为单个字符 
$returnstr=$returnstr.substr($sourcestr,$i,3); 
$i=$i+3; //实际Byte计为3 
$n++; //字串长度计1 
} 
elseif ($ascnum>=192) //如果ASCII位高与192, 
{ 
//根据UTF-8编码规范,将2个连续的字符计为单个字符 
$returnstr=$returnstr.substr($sourcestr,$i,2); 
$i=$i+2; //实际Byte计为2 
$n++; //字串长度计1 
} 
elseif ($ascnum>=65 && $ascnum<=90) //如果是大写字母, 
{ 
$returnstr=$returnstr.substr($sourcestr,$i,1); 
$i=$i+1; //实际的Byte数仍计1个 
$n++; //但考虑整体美观,大写字母计成一个高位字符 
} 
else //其他情况下,包括小写字母和半角标点符号, 
{ 
$returnstr=$returnstr.substr($sourcestr,$i,1); 
$i=$i+1; //实际的Byte数计1个 
$n=$n+0.5; //小写字母和半角标点等与半个高位字符宽... 
} 
} 
if ($str_length>$cutlength){ 
$returnstr = $returnstr . "...";//超过长度时在尾处加上省略号 
} 
return $returnstr; 
}
Javascript 相关文章推荐
JavaScript关于select的相关操作说明
Jan 13 Javascript
利用进制转换压缩数字函数分享
Jan 02 Javascript
基于jquery的手风琴图片展示效果实现方法
Dec 16 Javascript
项目中常用的JS方法整理
Jan 30 Javascript
12306验证码破解思路分享
Mar 25 Javascript
jquery实现折叠菜单效果【推荐】
Mar 08 Javascript
纯js实现图片匀速淡入淡出效果
Aug 22 Javascript
详解Node全局变量global模块
Sep 28 Javascript
vue .sync修饰符的使用详解
Jun 15 Javascript
Layui事件监听的实现(表单和数据表格)
Oct 17 Javascript
深入浅析JavaScript中的in关键字和for-in循环
Apr 20 Javascript
解决Vue项目中tff报错的问题
Oct 21 Javascript
jquery里的each使用方法详解
Dec 22 #Javascript
jQuery学习笔记之jQuery的动画
Dec 22 #Javascript
jQuery学习笔记之jQuery的事件
Dec 22 #Javascript
jQuery学习笔记之jQuery的DOM操作
Dec 22 #Javascript
jQuery学习笔记之jQuery选择器的使用
Dec 22 #Javascript
jQuery学习笔记之DOM对象和jQuery对象
Dec 22 #Javascript
jQuery学习笔记之Helloworld
Dec 22 #Javascript
You might like
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
PHP实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
js 目录列举函数
2008/11/06 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
javascript中call apply 的应用场景
2015/04/16 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
详解小程序原生使用ES7 async/await语法
2018/08/06 Javascript
在vue中获取微信支付code及code被占用问题的解决方法
2019/04/16 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
Python ORM框架SQLAlchemy学习笔记之关系映射实例
2014/06/10 Python
Python发送以整个文件夹的内容为附件的邮件的教程
2015/05/06 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
献爱心倡议书
2014/04/14 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
工作态度检讨书范文
2015/05/06 职场文书
庆七一活动简报
2015/07/20 职场文书
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript
关于PHP数组迭代器的使用方法实例
2021/11/17 PHP
SQLServer中exists和except用法介绍
2021/12/04 SQL Server
字节飞书面试promise.all实现示例
2022/06/16 Javascript