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 smarty的预保留变量总结
Dec 04 PHP
PHP 强制下载文件代码
Oct 24 PHP
php获取网页请求状态程序示例
Jun 17 PHP
php中实现精确设置session过期时间的方法
Jul 17 PHP
PHP获取数组长度或某个值出现次数的方法
Feb 11 PHP
php随机获取金山词霸每日一句的方法
Jul 09 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
PHP面试常用算法(推荐)
Jul 22 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
浅谈PHP安全防护之Web攻击
Jan 03 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
解决windows上php xdebug 无法调试的问题
Feb 19 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
在数据量大(超过10万)的情况下
2007/01/15 PHP
处理单名多值表单的详解
2013/06/08 PHP
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
thinkphp3.2实现上传图片的控制器方法
2016/04/28 PHP
php可变长参数处理函数详解
2017/02/22 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
实例讲解Python中的私有属性
2014/08/21 Python
使用python实现接口的方法
2017/07/07 Python
Python 实现王者荣耀中的敏感词过滤示例
2019/01/21 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
用python爬取历史天气数据的方法示例
2019/12/30 Python
档案检查欢迎词
2014/01/13 职场文书
奶茶店创业计划书
2014/08/14 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
车间统计员岗位职责
2015/04/14 职场文书
优秀志愿者感言
2015/08/01 职场文书
MySQL 不等于的三种使用及区别
2021/06/03 MySQL
Pycharm远程调试和MySQL数据库授权问题
2022/03/18 MySQL
Golang连接并操作MySQL
2022/04/14 MySQL