smarty中改进truncate使其支持中文的方法
更新时间:2016年6月12日 10:11 点击:2632
本文实例讲述了smarty中改进truncate使其支持中文的方法。分享给大家供大家参考,具体如下:
smarty的truncate不支持中文的截取。将smarty目录下plugins中的modifier.truncate.php改成下面这个样子就可以了
<?php /* * Smarty plugin * ------------------------------------------------------------- * Type: modifier * Name: truncate * Purpose: Truncate a string to a certain length if necessary, * optionally splitting in the middle of a word, and * appending the $etc string. * Update: change substr to msubstr and add fun msubstr.so it * can bu used in chinese charset. * ------------------------------------------------------------- */ function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false) { if ($length == 0) return ''; if (strlen($string) > $length) { $length -= strlen($etc); if (!$break_words) $string = preg_replace('//s+?(/S+)?$/', '', SubstrGB($string, 0, $length+1)); return SubstrGB($string, 0, $length).$etc; } else return $string; } function SubstrGB($str,$start,$len){ for($i=0;$i<$start+$len;$i++){ $tmpstr=(ord($str[$i])>=161 && ord($str[$i])<=254&& ord($str[$i+1])>=161 && ord($str[$i+1])<=254)?$str[$i].$str[++$i]:$tmpstr=$str[$i]; if ($i>=$start&&$i<($start+$len))$tmp .=$tmpstr; } return $tmp; } /* vim: set expandtab: */ ?>
更多关于Smarty相关内容感兴趣的读者可查看本站专题:《smarty模板入门基础教程》、《PHP模板技术总结》、《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。
上一篇: PHP中读取文件的几个方法总结(推荐)
下一篇: PHP微信公众号自动发送红包API
相关文章
- 这篇文章主要介绍了smarty中改进truncate使其支持中文的方法,涉及针对Smarty源码中truncate源文件进行函数功能扩展的相关技巧,需要的朋友可以参考下...2016-06-12
- 这篇文章主要介绍了smarty简单模板变量输出方法,涉及Smarty模板中数组的定义、使用及assign方法进行变量替换的相关技巧,需要的朋友可以参考下...2016-07-25
- AdodbZip1.1有更新,更新了下载地址。 SmartyZip,一个Smarty的装载类 <?php教程 // 设定参数 SmartyZip::$zip_url = 'http://www.smarty.net教程/distributions/...2016-11-25
- 这篇文章主要介绍了Smarty日期时间操作方法,结合实例形式较为详细的分析了Smarty日期时间操作相关函数、参数功能及使用技巧,需要的朋友可以参考下...2016-11-22
- 这篇文章主要介绍了Zend Framework框架Smarty扩展实现方法,结合实例形式较为详细的分析了Zend Framework框架Smarty扩展的具体步骤与相关设置技巧,需要的朋友可以参考下...2016-03-27
- Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码...2016-11-25
- 这篇文章主要介绍了smarty高级特性之过滤器的使用方法,结合实例形式分析了smarty过滤器的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2015-12-27
- 这篇文章主要介绍了Zend Framework+smarty用法,结合实例形式详细分析了Zend Framework框架整合Smarty模板的具体步骤与相关实现技巧,需要的朋友可以参考下...2016-03-21
- 这篇文章主要介绍了yii,CI,yaf框架+smarty模板使用方法,结合实例形式介绍了yii,CI及yaf框架整合smaryt模板的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2016-01-02
- 这篇文章主要介绍了Smarty环境配置与使用方法,较为详细的分析了Smarty环境的搭建与配置参数的功能含义,非常简单易懂,需要的朋友可以参考下...2016-05-13
- 这篇文章主要介绍了CI框架集成Smarty的方法,对比分析并改进了网上已有的方法,详细介绍了CI框架继承Smarty模板的具体步骤与相关技巧,需要的朋友可以参考下...2016-05-20
- Smarty实例教学 实例篇(三、使用ADODB连接数据库) 前两个月因为工作上的原因一直很忙,所以没有及时完成这个教程,正好今天周六不用加班,抽个空完成它吧! 在开始新的的教...2016-11-25
- php5中Iterator与smarty整合 Iterator(迭代器)在PHP5中是非常重要的,我注意到Iterator在Smarty中不能正常的工作。 Smarty会自动将一个object(对象)转换成array(数...2016-11-25
PHP中__autoload和Smarty冲突的简单解决方法
这篇文章主要介绍了PHP中__autoload和Smarty冲突的简单解决方法,通过spl_autoload_register注册__autoload函数的方法来解决__autoload函数再在Smarty无效的问题,需要的朋友可以参考下...2016-04-15- 这篇文章主要介绍了ThinkPHP使用Smarty第三方插件方法,结合实例形式总结分析了ThinkPHP使用Smarty模板的具体步骤与相关注意事项,需要的朋友可以参考下...2016-03-21
- 这篇文章主要介绍了PHP模板引擎Smarty中的保留变量用法,较为详细的分析说明了Smarty中的保留变量的功能与具体使用方法,需要的朋友可以参考下...2016-04-15
- <?php /******************************************* writer:zhaofei299 Emai:zhaofei299@163.com 百度空间:http://hi.baidu.com/zhaofei299 *****************...2016-11-25
- 这篇文章主要介绍了smarty高级特性之对象的使用方法,结合实例形式简单分析了使用类与对象的相关技巧,需要的朋友可以参考下...2015-12-27
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
这篇文章主要介绍了PHP模板引擎Smarty之配置文件在模板变量中的使用方法,结合实例形式分析了配置文件变量的具体使用步骤与相关技巧,需要的朋友可以参考下...2016-04-15- 这篇文章主要介绍了Smarty分页实现方法,涉及基于Smarty的数据库查询、分页相关计算与模板操作技巧,需要的朋友可以参考下...2016-05-13