php chr() ord()中文截取乱码问题解决方法

2015-01-24信息快讯网

今天看到chr() ord()中文截取乱码问题这个例子,觉得相当的不错,拿出来和大家分享下,有兴趣的朋友可以去试下,看看怎么样.

<?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)不会显示出什么,但是他是一个字符。当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。 
?> 
兼容firefox,chrome的网页灰度效果
Discuz!下Memcache缓存实现方法
php 提速工具eAccelerator 配置参数详解
memcached 和 mysql 主从环境下php开发代码详解
php select,radio和checkbox默认选择的实现方法
php checkbox复选框值的获取与checkbox默认值输出方法
php imagecreatetruecolor 创建高清和透明图片代码小结
php echo 输出字符串函数详解
php 各种应用乱码问题的解决方法
php for 循环语句使用方法详细说明
PHP foreach循环使用详解与实例代码
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
php 中文字符入库或显示乱码问题的解决方法
php截取utf-8中文字符串乱码的解决方法
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
php 读取文件乱码问题
Wordpress php 分页代码
php+AJAX传送中文会导致乱码的问题的解决方法
wiki-shan写的php在线加密的解密程序
php htmlentities和htmlspecialchars 的区别
PHP+MYSQL 出现乱码的解决方法
php-accelerator网站加速PHP缓冲的方法
jq的get传参数在utf-8中乱码问题的解决php版
效率较高的php下读取文本文件的代码 原创
discuz Passport 通行证 整合笔记
改变Apache端口等配置修改方法
WindowsXP中快速配置Apache+PHP5+Mysql
php Ajax乱码
php出现Cannot modify header information问题的解决方法大全
在PHP中读取和写入WORD文档的代码
PHP截取汉字乱码问题解决方法mb_substr函数的应用
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置
php中文字符截取防乱码
How do I change MySQL timezone?
wordpress之wp-settings.php
©2014-2024 dbsqp.com