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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
Oct 09 PHP
php巧获服务器端信息
Dec 06 PHP
PHP 彩色文字实现代码
Jun 29 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
php创建多级目录的方法
Mar 24 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
Dec 11 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
php实现文件管理与基础功能操作
Mar 21 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
laravel-admin 中列表筛选方法
Oct 03 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
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
2014/04/12 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
详解Python的Django框架中manage命令的使用与扩展
2016/04/11 Python
Python生成密码库功能示例
2017/05/23 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
pycharm配置git(图文教程)
2019/08/16 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
使用Python实现批量ping操作方法
2020/05/06 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
python推导式的使用方法实例
2021/02/28 Python
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
浪费资源的建议书
2014/03/12 职场文书
搞笑创意广告语
2014/03/17 职场文书
小学教师培训方案
2014/06/09 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
浅谈node.js中间件有哪些类型
2021/04/29 Javascript