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 相关文章推荐
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
php4与php5的区别小结(配置异同)
Dec 20 PHP
php如何解决无法上传大于8M的文件问题
Mar 10 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 PHP
php微信开发之谷歌测距
Jun 14 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 PHP
PHP实现随机发扑克牌
Apr 22 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
php中用文本文件做数据库的实现方法
2008/03/27 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
php数据访问之增删改查操作
2016/05/09 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
通过jQuery源码学习javascript(二)
2012/12/27 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
css与javascript跨浏览器兼容性总结
2014/09/15 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
2017/09/06 NodeJs
基于js文件加载优化(详解)
2018/01/03 Javascript
详解Angular操作cookies方法
2018/06/01 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
初步解析Python下的多进程编程
2015/04/28 Python
python获取本机mac地址和ip地址的方法
2015/04/29 Python
python实现五子棋人机对战游戏
2020/03/25 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
澳大利亚领先的在线药房:Pharmacy Online(有中文站)
2020/02/22 全球购物
大四自我鉴定范文
2013/10/06 职场文书
党员思想汇报范文
2013/12/30 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
《第一朵杏花》教学反思
2014/04/16 职场文书
应聘教师自荐书
2014/06/16 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
2015年班长个人工作总结
2015/04/03 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
功夫熊猫观后感
2015/06/10 职场文书
Python实现抖音热搜定时爬取功能
2022/03/16 Python
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js