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库还是自己写代码?
Jan 28 Javascript
网站页面自动跳转实现方法PHP、JSP(上)
Aug 01 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
Jan 08 Javascript
屏蔽script注入小例子
Nov 12 Javascript
用原生JS获取CLASS对象(很简单实用)
Oct 15 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
Jan 23 Javascript
解决js函数闭包内存泄露问题的办法
Jan 25 Javascript
Vue.js每天必学之Class与样式绑定
Sep 05 Javascript
前端设计师们最常用的JS代码汇总
Sep 25 Javascript
Vue框架里使用Swiper的方法示例
Sep 20 Javascript
JavaScript进阶(一)变量声明提升实例分析
May 09 Javascript
通过实例解析jQ Ajax操作相关原理
Sep 23 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源码分析之变量的存储过程分解
2014/07/03 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
JS分页效果示例
2013/10/11 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
jQuery插件Tooltipster实现漂亮的工具提示
2015/04/12 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
Bootstrap CSS布局之表单
2016/12/17 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
wxpython 学习笔记 第一天
2009/03/16 Python
python简单程序读取串口信息的方法
2015/03/13 Python
Python解析nginx日志文件
2015/05/11 Python
python多维数组切片方法
2018/04/13 Python
Python实现多线程的两种方式分析
2018/08/29 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
中国网上药店领导者:1药网
2017/02/16 全球购物
网上常见的一份Linux面试题(多项选择部分)
2015/02/07 面试题
应届大学生自荐信
2013/12/05 职场文书
护理毕业生自荐信范文
2013/12/22 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
英文推荐信格式范文
2014/05/09 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
Golang 对es的操作实例
2022/04/20 Golang