php自定义函数截取汉字长度


Posted in PHP onMay 15, 2014
function msubstr($str,$start,$len) { 
$strlen=$start+$len; 
for($i=0;$i<$strlen;$i++) { 
if(ord(substr($str,$i,1))>0xa0) { 
$tmpstr.=substr($str,$i,2); 
$i++; 
} else 
$tmpstr.=substr($str,$i,1); 
} 
return $tmpstr; }

<?PHP 
$str="这个字符好长呀,^_^"; 
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符... 
Echo "$Short_Str"; 
Function csubstr($str,$start,$len) 
{ 
$strlen=strlen($str); 
$clen=0; 
for($i=0;$i<$strlen;$i++,$clen++) 
{ 
if ($clen>=$start+$len) 
break; 
if(ord(substr($str,$i,1))>0xa0) 
{ 
if ($clen>=$start) 
$tmpstr.=substr($str,$i,2); 
$i++; 
} 
else 
{ 
if ($clen>=$start) 
$tmpstr.=substr($str,$i,1); 
} 
} return $tmpstr; 
} 
Function showShort($str,$len) 
{ 
$tempstr = csubstr($str,0,$len); 
if ($str<>$tempstr) 
$tempstr .= "..."; //要以什么结尾,修改这里就可以. 
return $tempstr; 
}

再来看看唠叨的方法 怎么样,简洁吧?
$len = 19; 
$text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?"; 
echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");
PHP 相关文章推荐
抓取YAHOO股票报价的类
May 15 PHP
PHP中的string类型使用说明
Jul 27 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
基于PHP输出缓存(output_buffering)的深入理解
Jun 13 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
Yii实现MySQL多数据库和读写分离实例分析
Dec 03 PHP
Symfony页面的基本创建实例详解
Jan 26 PHP
php在数组中查找指定值的方法
Mar 17 PHP
PHP缓冲区用法总结
Feb 14 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 PHP
PHP使用ActiveMQ实现消息队列的方法详解
May 31 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
May 15 #PHP
php小技巧之过滤ascii控制字符
May 14 #PHP
PHP 之 写时复制介绍(Copy On Write)
May 13 #PHP
PHP中copy on write写时复制机制介绍
May 13 #PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 #PHP
php的慢速日志引起的Mysql错误问题分析
May 13 #PHP
PHP实现的MongoDB数据库操作类分享
May 12 #PHP
You might like
PHP学习 运算符与运算符优先级
2008/06/15 PHP
PHP array操作10个小技巧分享
2011/06/23 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
EXT窗口Window及对话框MessageBox
2011/01/27 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
2020/06/17 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
Python验证码识别处理实例
2015/12/28 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
2017/07/11 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
python 生成器需注意的小问题
2020/09/29 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
weblogic面试题
2016/03/07 面试题
党委书记岗位职责
2013/11/24 职场文书
产品开发计划书
2014/04/27 职场文书
学期评语大全
2014/04/30 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
社区五一劳动节活动总结
2015/02/09 职场文书