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 引用(&amp;)详解
Nov 20 PHP
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
session在PHP大型web应用中的使用
Jun 25 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
Jun 17 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 PHP
微信自定义菜单的处理开发示例
Apr 16 PHP
递归实现php数组转xml的代码分享
May 14 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
PHP调试的强悍利器之PHPDBG
Feb 22 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 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调用三种数据库的方法(1)
2006/10/09 PHP
php中常用字符串处理代码片段整理
2011/11/07 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
JavaScript对象模型-执行模型
2008/04/28 Javascript
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
2011/10/26 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
jQuery Ajax使用实例
2015/04/16 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
浅析javascript的return语句
2015/12/15 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
Javascript缓存API
2016/06/14 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
阿联酋航空假期:Emirates Holidays
2018/03/20 全球购物
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
学校经典推荐信
2013/10/30 职场文书
护士检查书
2014/01/17 职场文书
募捐倡议书
2014/04/14 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
老公婚前保证书
2015/02/28 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS