当前位置:  编程技术>php

CodeIgniter中ellipsize()支持中文截断实现方法

    来源: 互联网  发布时间:2014-08-30

    本文导语:  CodeIgniter的Text Helper有一个ellipsize()方法,用来过滤HTML标签并且截断文字十分好用。 它对中文支持的特别不好,在中文中使用就有乱码出现。 如何实现中文截断不乱码呢? 参考了网友的方法,将function ellipsize()进行了修改,使...

CodeIgniter的Text Helper有一个ellipsize()方法,用来过滤HTML标签并且截断文字十分好用。
它对中文支持的特别不好,在中文中使用就有乱码出现。

如何实现中文截断不乱码呢?

参考了网友的方法,将function ellipsize()进行了修改,使得它支持中文:
在CI 2.1.3版本中,修改ci_2.1.3systemhelperstext_helper.php 文件
 

代码示例:

function ellipsize($codepage = 'UTF-8',
        $str, $max_length, $position = 1, $ellipsis = '…')
{
    // Strip tags
    $str = trim(strip_tags($str));

    // Is the string long enough to ellipsize?
    if (mb_strlen($str, $codepage) 1) ? 1 : $position;

    if ($position === 1)
    {
        $end = mb_substr($str, 0,
            -($max_length - mb_strlen($beg, $codepage)), $codepage);
    }
    else
    {
        $end = mb_substr($str,
            -($max_length - mb_strlen($beg, $codepage)), $max_length, $codepage);
    }

    return $beg.$ellipsis.$end;
}

代码说明:
将substr和strlen替换成了mb_substr和mb_strlen,可以很好的支持中文截断。

您可能感兴趣的文章:

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • PHP 的 MVC 框架 CodeIgniter
  • 基于 CodeIgniter 开源 CMS Ionize
  • Oauth2 SocialAuth for CodeIgniter
  • CodeIgniter图像处理类代码
  • CodeIgniter框架实例之过滤HTML危险代码
  • CI(CodeIgniter)框架介绍
  • Codeigniter出现错误提示Error with CACHE directory的解决方案
  • 解决Codeigniter不能上传rar和zip压缩包问题
  • CodeIgniter框架过滤HTML危险代码
  • Codeigniter中mkdir创建目录遇到权限问题和解决方法
  • 新浪SAE云平台如何使用codeigniter数据库配置?
  • 使用配置类定义Codeigniter全局变量
  • Codeigniter中禁止A Database Error Occurred错误提示的方法
  • CodeIgniter怎么更改view文件夹路径?
  • codeigniter上传图片不能正确识别图片类型问题解决方法
  • 解决CodeIgniter伪静态失效
  • 新浪SAE云平台下使用codeigniter的数据库配置
  • CodeIgniter CLI模式简介
  • nginx支持codeigniter的pathinfo模式url重写配置写法示例
  • codeigniter框架The URI you submitted has disallowed characters错误解决方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3