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 在文件指定行插入数据的代码
May 08 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
深入分析使用mysql_fetch_object()以对象的形式返回查询结果
Jun 05 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
推荐10个提供免费PHP脚本下载的网站
Dec 31 PHP
php创建session的方法实例详解
Jan 27 PHP
PHP验证码生成原理和实现
Jan 24 PHP
微信公众平台DEMO(PHP)
May 04 PHP
php排序算法实例分析
Oct 17 PHP
php文件管理基本功能简单操作
Jan 16 PHP
PHP经典实用正则表达式小结
May 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
网站加速 PHP 缓冲的免费实现方法
2006/10/09 PHP
php+mysql数据库查询实例
2015/01/21 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
php实现简单爬虫的开发
2016/03/28 PHP
mouse_on_title.js
2006/08/25 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
指定区域的图片自动按比例缩小的js代码(防止页面被图片撑破)
2014/02/21 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
[01:04:22]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 IG vs EG
2018/04/01 DOTA
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
Python中logging模块的用法实例
2014/09/29 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
python制作一个桌面便签软件
2015/08/09 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
解决uWSGI的编码问题详解
2017/03/24 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
如何使用html5与css3完成google涂鸦动画
2012/12/16 HTML / CSS
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
canvas 绘图时位置偏离的问题解决
2020/09/16 HTML / CSS
简约控的天堂:The Undone
2016/12/21 全球购物
大四学年自我鉴定
2013/11/13 职场文书
生产部岗位职责范文
2014/02/07 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL