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 chmod 函数与批量修改文件目录权限
May 10 PHP
win7下memCache的安装过程(具体操作步骤)
Jun 28 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
php实现中文字符截取防乱码方法汇总
Apr 29 PHP
PHP简单读取PDF页数的实现方法
Jul 21 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
学习thinkphp5.0验证类使用方法
Nov 16 PHP
PHP http请求超时问题解决方案
Nov 13 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
一段php加密解密的代码
2007/07/16 PHP
yii框架中的Url生产问题小结
2012/01/16 PHP
php set_time_limit()函数的使用详解
2013/06/05 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
php取得字符串首字母的方法
2015/03/25 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
PHP Include文件实例讲解
2019/02/15 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
javascript 触发HTML元素绑定的函数
2010/09/11 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
简单实用的反馈表单无刷新提交带验证
2013/11/15 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
axios 封装上传文件的请求方法
2018/09/26 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
在Python中关于中文编码问题的处理建议
2015/04/08 Python
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
谈谈如何手动释放Python的内存
2016/12/17 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
Vue OpenLayer测距功能的实现
2022/04/20 Vue.js
SQL使用复合索引实现数据库查询的优化
2022/05/25 SQL Server