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-onload让第一次页面加载时图片是淡入方式显示
May 23 Javascript
JavaScript动态创建div属性和样式示例代码
Oct 09 Javascript
查看大图功能代码jquery版
Nov 05 Javascript
jQuery.parseJSON(json)将JSON字符串转换成js对象
Jul 27 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
Apr 07 Javascript
DropDownList实现可输入可选择(两种版本可选)
Dec 07 Javascript
JavaScript输入框字数实时统计更新
Jun 17 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
Jan 03 Javascript
JS 实现分页打印功能
May 16 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 Javascript
vue3为什么要用proxy替代defineProperty
Oct 19 Javascript
Vue+axios封装请求实现前后端分离
Oct 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计算排列组合的方法
2013/11/13 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
Yii框架批量插入数据扩展类的简单实现方法
2017/05/23 PHP
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
jquery实现手风琴效果实例代码
2013/11/15 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
Vue2.0权限树组件实现代码
2017/08/29 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
详解Express笔记之动态渲染HTML(新手入坑)
2018/12/13 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
你应该知道的python列表去重方法
2017/01/17 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
python版百度语音识别功能
2019/07/09 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
python字符串反转的四种方法详解
2019/12/02 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
Python列表list操作相关知识小结
2020/01/29 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
大学生迟到检讨书500字
2014/10/17 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
党支部考察意见范文
2015/06/02 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫