让CodeIgniter的ellipsize()支持中文截断的方法
2023-06-13 09:15:28 时间
CodeIgniter的TextHelper有一个ellipsize()方法,用来过滤HTML标签并且截断文字十分好用。但是它对中文支持的特别不好,在中文中使用就有乱码出现。
下面有网友将functionellipsize()进行了修改,使得它支持中文:
在CI2.1.3版本中,修改ci_2.1.3\system\helpers\text_helper.php文件
$str,$max_length,$position=1,$ellipsis="…")
{
//Striptags
$str=trim(strip_tags($str));
//Isthestringlongenoughtoellipsize?
if(mb_strlen($str,$codepage)<=$max_length)
{
return$str;
}
$beg=mb_substr($str,0,floor($max_length*$position),$codepage);
$position=($position>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,这样就能很好的支持中文截断了。
相关文章
- 解析Java中文乱码的处理方法
- MFC Java 使用socket 中文乱码解决方法(一)「建议收藏」
- Python编辑开发:pycharm pro中文免登陆账号「win/mac」
- ubuntu16安装中文输入法_ubuntu输入法安装
- C++ 中文周刊 第93期
- MySQL一劳永逸永久支持输入中文的方法实例
- MySQL中显示中文的正确方法(在mysql中显示中文)
- WinRAR下载64位 32位 WinRAR 5.20中文特别版 美化版下载
- 深入浅出Oracle字符串中文处理(oracle字符串中文)
- 25字中文文章标题:Linux服务器工具盘点:您需要知道的访问方法(访问linux服务器工具)
- MySQL中文插入问题解决方法(mysql中中文插入不了)
- 25字中文标题MySQL表中不允许重复数据的处理方法(mysql中不能重复)
- 中文Oracle极致发挥MAX(max中文 oracle)
- 25字中文文章标题MySQL中创建表格的方法说明(mysql中关于创建)
- MySQL数据库不支持中文字符的原因和解决方法(mysql不能有中文)
- Oracle10g解决中文编码之道(oracle10g编码)
- 中文Access2000速成教程--1.5使用已有的数据自动建新表
- 让服务器支持中文文件名下载的设置方法
- asp.net中文字符串提交乱码的解决方法
- PHP中文分词的简单实现代码分享
- 分割GBK中文遭遇乱码的解决方法
- PHP连接MySQL查询结果中文显示乱码解决方法
- struts2中文乱码的解决办法分享
- ajax请求乱码的解决方法(中文乱码)