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 相关文章推荐
css值转换成数值请抛弃parseInt
Oct 24 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
Sep 26 Javascript
javascript模拟select,jselect的方法实现
Nov 08 Javascript
JS Map 和 List 的简单实现代码
Jul 08 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
Feb 04 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
jquery.Callbacks的实现详解
Nov 30 Javascript
ejsExcel模板在Vue.js项目中的实际运用
Jan 27 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
Sep 04 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 Javascript
react+antd 递归实现树状目录操作
Nov 02 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
Linux下ZendOptimizer的安装与配置方法
2007/04/12 PHP
php 文章采集正则代码
2009/12/28 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
关于PHP文件的自动运行方法分析
2016/05/13 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
Jquery 快速构建可拖曳的购物车DragDrop
2009/11/30 Javascript
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
python提取页面内url列表的方法
2015/05/25 Python
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
python操作列表的函数使用代码详解
2017/12/28 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
浅谈pyqt5在QMainWindow中布局的问题
2019/06/21 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
物业保安员岗位职责
2014/03/14 职场文书
社区戒毒工作方案
2014/06/04 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
保研专家推荐信范文
2015/03/25 职场文书
2015年志愿者服务工作总结
2015/04/20 职场文书
Android studio 简单计算器的编写
2022/05/20 Java/Android