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一些常用的正则表达式字符的一些转换
Jul 29 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
May 16 PHP
php 不使用js实现页面跳转
Feb 11 PHP
五款PHP代码重构工具推荐
Oct 14 PHP
php将图片文件转换成二进制输出的方法
Jun 10 PHP
PHP安装threads多线程扩展基础教程
Nov 17 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 PHP
php事件驱动化设计详解
Nov 10 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
Jun 06 PHP
Laravel 队列使用的实现
Jan 08 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
Cakephp 执行主要流程
2010/03/24 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
php给数组赋值的实例方法
2019/09/26 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
js星星评分效果
2014/07/24 Javascript
node.js中的path.join方法使用说明
2014/12/08 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
Python实现多行注释的另类方法
2014/08/22 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
flask框架视图函数用法示例
2018/07/19 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
keras中的backend.clip用法
2020/05/22 Python
python 线程的五个状态
2020/09/22 Python
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
迎接领导欢迎词
2014/01/11 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
优秀教师个人材料
2014/12/15 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python
python基于turtle绘制几何图形
2021/06/15 Python
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android