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配置文件中最常用四个ini函数
Mar 19 PHP
mayfish 数据入库验证代码
Apr 30 PHP
PHP ignore_user_abort函数详细介绍和使用实例
Jul 15 PHP
PHP中4种常用的抓取网络数据方法
Jun 04 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
php简单压缩css样式示例
Sep 22 PHP
Nginx环境下PHP flush失效的解决方法
Oct 19 PHP
详解php与ethereum客户端交互
Apr 28 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 PHP
Django中通过定时任务触发页面静态化的处理方式
Aug 29 PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 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/12/19 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
IE JS无提示关闭窗口不提示的方法
2010/04/29 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
JS的get和set使用示例
2014/02/20 Javascript
js获取和设置属性的方法
2014/02/20 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
jQuery插件实现无缝滚动特效
2015/11/24 Javascript
jquery仿QQ登录账号选择下拉框效果
2016/03/22 Javascript
原生js实现对Ajax的封装(仿jquery)
2017/01/22 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
Vue 中的compile操作方法
2018/02/26 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
vue如何截取字符串
2019/05/06 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
2020/09/07 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
python 将字符串转换成字典dict
2013/03/24 Python
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
对python的输出和输出格式详解
2018/12/08 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
竞选班长演讲稿500字
2014/08/22 职场文书
大学生求职简历自我评价
2015/03/02 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
详解如何使用Nginx解决跨域问题
2022/05/06 Servers