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在字符串中查找指定字符串并删除的代码
Oct 02 PHP
php中计算时间差的几种方法
Dec 31 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
PHP 第二节 数据类型之字符串类型
Apr 28 PHP
PHP中的output_buffering详细介绍
Sep 27 PHP
YII使用url组件美化管理的方法
Dec 28 PHP
PHP7+Nginx的配置与安装教程详解
May 10 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 PHP
php查询及多条件查询
Feb 26 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
PHP 实现页面静态化的几种方法
Jul 23 PHP
PHP删除数组中特定元素的两种方法
Feb 28 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新手上路(七)
2006/10/09 PHP
php 获取当前访问的url文件名的方法小结
2010/02/08 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
javascript下function声明一些小结
2007/12/28 Javascript
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
使用jquery写个更改表格行顺序的小功能
2014/04/29 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
jQuery on()绑定动态元素出现的问题小结
2016/02/19 Javascript
js操作数据库实现注册和登陆的简单实例
2016/05/26 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
Python实现的Excel文件读写类
2015/07/30 Python
11月编程语言排行榜 Python逆袭C#上升到第4
2017/11/15 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
python写入已存在的excel数据实例
2018/05/03 Python
python Selenium实现付费音乐批量下载的实现方法
2019/01/24 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
Fossil美国官网:Fossil手表、手袋、珠宝及配件
2017/02/01 全球购物
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
思想汇报范文
2013/11/04 职场文书
给学校建议书范文
2014/05/13 职场文书
会议室标语
2014/06/21 职场文书
舞蹈教育学专业求职信
2014/06/29 职场文书
党的群众路线教育实践活动个人整改方案
2014/09/21 职场文书
作文批改评语
2014/12/25 职场文书
工程主管竞聘书
2015/09/15 职场文书
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python