php中文字符截取防乱码

 更新时间:2008年03月28日 22:26:30   作者:  
当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。而值为0x81到0xff与0x00组合始终都显示为“空” 根据这一特点,在substr的结果后面补上一个chr(0),就可以防止出现乱码了
先看段代码 

复制代码 代码如下:

<?php       

$len = 15;          

$str = "这个新闻或是文章的标题很长,需要只显示前面一些字,后面用...来代替";       
echo strlen($str)<=$len ? $str : (substr($str,0,$len).chr(0)."...");     
?>  
 

chr(0)相关知识:
null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000 
虽然chr(0)不会显示出什么,但是他是一个字符。 


淡水ps:
如果是UTF-8,UTF-8中的汉字是3个字节的,截取的长度尽量去3的倍数,以避免乱码的产生

相关文章

  • php求今天、昨天、明天时间戳的简单实现方法

    php求今天、昨天、明天时间戳的简单实现方法

    这篇文章主要介绍了php求今天、昨天、明天时间戳的方法,实例分析了strtotime函数的常见使用技巧,非常简单实用,需要的朋友可以参考下
    2016-07-07
  • php jq jquery getJSON跨域提交数据完整版

    php jq jquery getJSON跨域提交数据完整版

    getJSON跨域提交数据,想必大家已在很多文章中见到过,下面的示例是php jq jquery getJSON跨域提交数据完整代码,感兴趣的朋友可以参考下
    2013-09-09
  • 详解php中curl返回false的解决办法

    详解php中curl返回false的解决办法

    这篇文章主要介绍了php中curl返回false的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • PHP与Web页面的交互示例详解二

    PHP与Web页面的交互示例详解二

    这篇文章主要介绍了PHP与Web页面的交互示例详解二,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • php数组索引的Key加引号和不加引号的区别

    php数组索引的Key加引号和不加引号的区别

    这篇文章主要介绍了php数组索引的Key加引号和不加引号的区别,加引号和不加引号是有严重的区别的,需要的朋友可以参考下
    2014-08-08
  • 如何使用PHP计算上一个月的今天

    如何使用PHP计算上一个月的今天

    本篇文章是对用PHP计算上一个月的今天的实例进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • PHP7安装Redis扩展教程【Linux与Windows平台】

    PHP7安装Redis扩展教程【Linux与Windows平台】

    这篇文章主要介绍了PHP7安装Redis扩展的方法,简单分析了Linux与Windows平台Redis扩展的安装方法,并提供了一个实例进一步分析了php操作Redis的相关技巧,需要的朋友可以参考下
    2016-09-09
  • smarty模板嵌套之include与fetch性能测试

    smarty模板嵌套之include与fetch性能测试

    使用模板时难免要碰到模板嵌套的时候,大家都知道有两种方法可以实现,以下是个人早期的一些使用感受。
    2010-12-12
  • PHP实现使用DOM将XML数据存入数组的方法示例

    PHP实现使用DOM将XML数据存入数组的方法示例

    这篇文章主要介绍了PHP实现使用DOM将XML数据存入数组的方法,结合具体实例形式分析了php基于DOM实现xml数据读取与解析相关操作技巧,需要的朋友可以参考下
    2017-09-09
  • PHP无限分类的类

    PHP无限分类的类

    这段时间在写一个部门权限系统,需要用到无限分类技术,找了很多关于分类的代码.逐个收藏起来
    2007-01-01

最新评论