找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 113|回复: 0
打印 上一主题 下一主题

php smarty truncate UTF8乱码问题解决办法

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:57:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            估计不少玩smarty模板的小朋友都遇到过裁切乱码问题。特别是UTF8编码的。
以下代码保存为modifier.truncate2.php 存到smarty libs下的plugin目录下
然后裁剪的时候用$v->content|truncate2:100
就搞定了。
如果不好用可能是缓存导致,请速度删除templates_c下的缓存文件(小编搞的时候遇到缓存问题。)
[U]复制代码[/U] 代码如下:
* @param string
* @param integer
* @param string
* @param boolean
* @param boolean
* @return string
*/
function smarty_modifier_truncate2( $string,$length = 80,$etc='...',$count_words = true ) {
return $returnstr =substr_utf8($string, 0, $length).$etc;
}
function substr_utf8($str, $start=0, $length=-1, $return_ary=false) {
    $len = strlen($str);if ($length == -1) $length = $len;
    $r = array();
    $n = 0;
    $m = 0;
    for($i = 0; $i = $length) {
                break;
            }
        }
    }
    return $return_ary ? $r : implode("",$r);
}
/* vim: set expandtab: */
?>
samrty的插件体系还是比较智能而且容易修改的。
            
            
您可能感兴趣的文章:
  • php smarty函数扩展
  • smarty中先strip_tags过滤html标签后truncate截取文章运用
  • 解析smarty 截取字符串函数 truncate的用法介绍
  • smarty模板中拼接字符串的方法
  • smarty半小时快速上手入门教程
  • Smarty中常用变量操作符汇总
  • Zend Framework框架Smarty扩展实现方法
  • smarty中改进truncate使其支持中文的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端