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 相关文章推荐
js 加载并解析XML字符串的代码
Dec 13 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
Apr 26 Javascript
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 Javascript
JavaScript Promise启示录
Aug 12 Javascript
浅谈关于JavaScript API设计的一些建议和准则
Jun 24 Javascript
jquery之别踩白块游戏的简单实现
Jul 25 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
Mar 06 Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 Javascript
vue下history模式刷新后404错误解决方法
Aug 18 Javascript
vue quill editor 使用富文本添加上传音频功能
Jan 14 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
May 06 Javascript
基于JavaScript的数据结构队列动画实现示例解析
Aug 06 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
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
PHP中include与require使用方法区别详解
2013/10/19 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
使用plupload自定义参数实现多文件上传
2016/07/19 Javascript
fullpage.js全屏滚动插件使用实例
2016/09/06 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
vue 项目常用加载器及配置详解
2018/01/22 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
使用grappelli为django admin后台添加模板
2014/11/18 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
海淘母婴商城:国际妈咪
2016/07/23 全球购物
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
音乐专业应届生教师求职信
2013/11/04 职场文书
养殖行业的创业计划书
2014/01/05 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
护士医德医风自我评价
2014/09/15 职场文书
自查自纠工作总结
2014/10/15 职场文书
大学生操行评语大全
2014/12/31 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers