php chr() ord()中文截取乱码问题解决方法


Posted in PHP onSeptember 08, 2008
<?php 
$lenth = 19; 
$str = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?"; 
echo strlen($str)<=$lenth ? $str : (substr($str,0,$lenth).chr(0)."...."); 
?>

<? 
/* 
@ 另一种方法,使用ord()函数: 
@ 适用于 gb2312 编码: 
*/ 
$str = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?"; 
function gb2312_substr($str, $limit) { 
$restr =''; 
for($i=0;$i< $limit-3;$i++) { 
$restr .= ord($str[$i])>127 ? $str[$i].$str[++$i] : $str[$i]; 
} 
return $restr; 
} 
/* 
@ 以下仅适用于 utf-8 编码; 
*/ 
function utf8_substr($str, $limit) { 
$restr = ''; 
for($i=0;$i< $limit-3;$i++) { 
$restr .= ord($str[$i])>127 ? $str[$i].$str[++$i].$str[++$i] : $str[$i]; 
} 
return $restr; 
} 
//解释下上面第一个:chr(0)不是null,null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000虽然chr(0)不会显示出什么,但是他是一个字符。虽然chr(0)不会显示出什么,但是他是一个字符。当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。 
?>
PHP 相关文章推荐
xml在joomla表单中的应用详解分享
Jul 19 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
PHP 循环删除无限分类子节点的实现代码
Jun 21 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
PHP使用array_fill定义多维数组的方法
Mar 18 PHP
php实现的验证码文件类实例
Jun 18 PHP
10款实用的PHP开源工具
Oct 23 PHP
PHP类和对象相关系统函数与运算符小结
Sep 28 PHP
php中照片旋转 (orientation) 问题的正确处理
Feb 16 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 #PHP
php单件模式结合命令链模式使用说明
Sep 07 #PHP
网友原创的PHP模板类代码
Sep 07 #PHP
php 特殊字符处理函数
Sep 05 #PHP
php include,include_once,require,require_once
Sep 05 #PHP
php生成随机数或者字符串的代码
Sep 05 #PHP
PHP通用分页类page.php[仿google分页]
Aug 31 #PHP
You might like
一个取得文件扩展名的函数
2006/10/09 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
php文件缓存类汇总
2014/11/21 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
php实现的用户查询类实例
2015/06/18 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
js 利用className得到对象的实现代码
2011/11/15 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
JS跨浏览器解析XML应用过程详解
2020/10/16 Javascript
python实现巡检系统(solaris)示例
2014/04/02 Python
Python常用的爬虫技巧总结
2016/03/28 Python
python编写微信公众号首图思路详解
2019/12/13 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
使用 css3 实现圆形进度条的示例
2017/07/05 HTML / CSS
C语言如何决定使用那种整数类型
2016/11/26 面试题
上海天奕面试题笔试题
2015/04/19 面试题
打架检讨书500字
2014/01/29 职场文书
小学综合实践活动总结
2014/07/07 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
停水通知
2015/04/16 职场文书
2019通用版新员工入职培训方案!
2019/07/11 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL