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 相关文章推荐
node.js学习总结之调式代码的方法
Jun 25 Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 Javascript
JQuery显示隐藏DIV的方法及代码实例
Apr 16 Javascript
跟我学习javascript的prototype使用注意事项
Nov 17 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
详解javascript实现瀑布流列式布局
Jan 29 Javascript
深入理解jquery跨域请求方法
May 18 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
利用vue重构有赞商城的思路以及总结整理
Feb 21 Javascript
JS基础之逻辑结构与循环操作示例
Jan 19 Javascript
JavaScript实现图片放大预览效果
Nov 02 Javascript
vue+elementUI实现表格列的显示与隐藏
Apr 13 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的简单采集数据入库程序【续篇】
2014/07/30 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
JS实现的全选、全不选及反选功能【案例】
2019/02/19 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
python安装cx_Oracle模块常见问题与解决方法
2017/02/21 Python
Python数据结构之图的应用示例
2018/05/11 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
python async with和async for的使用
2019/06/20 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
python中列表的含义及用法
2020/05/26 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python库安装速度过慢解决方案
2020/07/14 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
2013年入党人员的自我鉴定
2013/10/25 职场文书
公益广告宣传方案
2014/02/28 职场文书
医院义诊活动总结
2014/07/04 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL
4种方法python批量修改替换列表中元素
2022/04/07 Python