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 相关文章推荐
setInterval 和 setTimeout会产生内存溢出
Feb 15 Javascript
Three.js源码阅读笔记(光照部分)
Dec 27 Javascript
Javascript表格翻页效果实现思路及代码
Aug 23 Javascript
JavaScript实现的SHA-1加密算法完整实例
Feb 02 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
Jan 03 Javascript
Vue如何实现组件的源码解析
Jun 08 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
Apr 12 Javascript
Vue2.0生命周期的理解
Aug 20 Javascript
element-ui使用导航栏跳转路由的用法详解
Aug 22 Javascript
JS实现网站吸顶条
Jan 08 Javascript
jquery实现烟花效果(面向对象)
Mar 10 jQuery
Vue移动端用淘宝弹性布局lib-flexible插件做适配的方法
May 26 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
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
php常见的魔术方法详解
2014/12/25 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
Angularjs实现分页和分页算法的示例代码
2016/12/23 Javascript
Mac下安装vue
2018/04/11 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
Python程序设计入门(2)变量类型简介
2014/06/16 Python
简单理解Python中的装饰器
2015/07/31 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
python中pika模块问题的深入探究
2018/10/13 Python
python简单实现AES加密和解密
2019/03/28 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
如何在python中写hive脚本
2019/11/08 Python
Python如何实现爬取B站视频
2020/05/20 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
如何用Python 加密文件
2020/09/10 Python
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
反邪教学习心得体会
2016/01/15 职场文书
Python机器学习之基础概述
2021/05/19 Python
详细了解java监听器和过滤器
2021/07/09 Java/Android
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫