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工具函数代码
Feb 17 Javascript
document.execCommand()的用法小结
Jan 08 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
Dec 03 Javascript
Javascript中字符串replace方法的第二个参数探究
Dec 05 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
Dec 21 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
Mar 08 Javascript
关于TypeScript中import JSON的正确姿势详解
Jul 25 Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
May 14 Javascript
vue-froala-wysiwyg 富文本编辑器功能
Sep 19 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
详解vue中使用transition和animation的实例代码
Dec 12 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
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
php 随机生成10位字符代码
2009/03/26 PHP
浅析PHP 按位与或 (^ 、&amp;)
2013/06/21 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
PHP里的$_GET数组介绍
2019/03/22 PHP
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
jQuery DOM操作实例
2014/03/05 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
jquery使用经验小结
2015/05/20 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
2020/11/12 Javascript
[59:08]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第一局
2016/02/27 DOTA
python+pyqt5编写md5生成器
2019/03/18 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
应届生财务管理求职信
2013/11/06 职场文书
物业管理毕业生个人的求职信
2013/11/30 职场文书
施工安全生产承诺书
2014/05/23 职场文书
房屋出租委托书格式
2014/09/23 职场文书
孔繁森观后感
2015/06/10 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
MySQL 角色(role)功能介绍
2021/04/24 MySQL
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技