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实现多级树型菜单
Oct 09 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
PHP 数组遍历方法大全(foreach,list,each)
Jun 30 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
PHP获取php,mysql,apche的版本信息示例代码
Jan 16 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
PHP在线打包下载功能示例
Oct 15 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
Dec 12 PHP
PHP设计模式之单例模式原理与实现方法分析
Apr 25 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 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 数组入门教程小结
2009/05/20 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
原生js封装二级城市下拉列表的实现代码
2016/06/16 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
iview table高度动态设置方法
2018/03/14 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
介绍Python中几个常用的类方法
2015/04/08 Python
python3简单实现微信爬虫
2015/04/09 Python
python 迭代器和iter()函数详解及实例
2017/03/21 Python
Python基于Pymssql模块实现连接SQL Server数据库的方法详解
2017/07/20 Python
python组合无重复三位数的实例
2018/11/13 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
深入理解css属性的选择对动画性能的影响
2016/04/20 HTML / CSS
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
会计应届生的自荐信
2013/12/13 职场文书
关于逃课的检讨书
2014/01/23 职场文书
留学推荐信范文
2014/05/10 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
五五普法心得体会
2014/09/04 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python
Python3 类型标注支持操作
2021/06/02 Python