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 相关文章推荐
聊天室php&amp;mysql(一)
Oct 09 PHP
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
php入门学习知识点三 PHP上传
Jul 14 PHP
PHP缓存技术的使用说明
Aug 06 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
老生常谈PHP中的数据结构:DS扩展
Jul 17 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
浅谈laravel数据库查询返回的数据形式
Oct 21 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开发中的错误收集,不定期更新。
2011/02/03 PHP
PHP中extract()函数的妙用分析
2012/07/11 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP如何根据文件头检测文件类型实例代码
2018/10/14 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
用ADODB.Stream转换
2007/01/22 Javascript
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
js实现选中复选框文字变色的方法
2015/08/14 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
2017/04/01 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
微信小程序动态设置图片大小的方法
2019/11/21 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
python中的decimal类型转换实例详解
2019/06/26 Python
Python 求数组局部最大值的实例
2019/11/26 Python
Python类中self参数用法详解
2020/02/13 Python
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
努力学习演讲稿
2014/05/10 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python