时时商务社区

标题: php smarty truncate UTF8乱码问题解决办法 [打印本页]

作者: 新格网络    时间: 2018-2-14 05:57

            估计不少玩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使其支持中文的方法
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2