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 硬盘序列号+其它硬件信息
Dec 23 Javascript
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
Dec 02 Javascript
Javascript 实现TreeView CheckBox全选效果
Jan 11 Javascript
jQuery数组处理代码详解(含实例演示)
Feb 03 Javascript
jquery win 7透明弹出层效果的简单代码
Aug 06 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
Dec 18 Javascript
Ajax中解析Json的两种方法对比分析
Jun 25 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
Sep 08 Javascript
微信小程序顶部导航栏滑动tab效果
Jan 28 Javascript
自定义Vue中的v-module双向绑定的实现
Apr 17 Javascript
vue webpack重写cookie路径的方法
Jul 10 Javascript
JS实现联想、自动补齐国家或地区名称的功能
Jul 07 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
js代码实现随机颜色的小方块
2015/07/30 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
python编写简单爬虫资料汇总
2016/03/22 Python
深入理解python中的闭包和装饰器
2016/06/12 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
简单了解python的内存管理机制
2019/07/08 Python
python中常见错误及解决方法
2020/06/21 Python
python3跳出一个循环的实例操作
2020/08/18 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
外语学院毕业生的自我鉴定
2013/11/28 职场文书
住宅质量保证书
2014/04/29 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
辞职信标准格式
2015/02/27 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏