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 相关文章推荐
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
Apr 21 Javascript
jQuery中filter()和find()的区别深入了解
Sep 25 Javascript
js写的评论分页(还不错)
Dec 23 Javascript
判断访客终端类型集锦
Jun 05 Javascript
学习javascript面向对象 javascript实现继承的方式
Jan 04 Javascript
深入php面向对象、模式与实践
Feb 16 Javascript
使用DeviceOne实现微信小程序功能
Dec 29 Javascript
Javascript实现倒计时时差效果
May 18 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
Apr 23 Javascript
jquery获取img的src值实例介绍
Jan 16 jQuery
JavaScript+HTML5 canvas实现放大镜效果完整示例
May 15 Javascript
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
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开发框架Laravel数据库操作方法总结
2014/09/03 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
简单谈谈关于 npm 5.0 的新坑
2017/06/08 Javascript
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
Vue实现点击后文字变色切换方法
2018/02/11 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
python字典get()方法用法分析
2015/04/17 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
Numpy中转置transpose、T和swapaxes的实例讲解
2018/04/17 Python
Python中psutil的介绍与用法
2019/05/02 Python
Python3列表List入门知识附实例
2020/02/09 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
经济管理毕业生求职信
2014/03/15 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
小学英语教学反思范文
2016/02/15 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python
给numpy.array增加维度的超简单方法
2021/06/02 Python
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL
Hive日期格式转换方法总结
2022/06/25 数据库