Smarty模板变量调节器用法分析


Posted in PHP onMay 23, 2016

本文讲述了Smarty模板变量调节器用法。分享给大家供大家参考,具体如下:

在smarty里面,怎么修饰文本和变量呢?当然,你可以通过php函数处理文本,然后再通过assign()方法分配到模板,其实smarty提供了变量调节器能够很容易的处理文本,语法方式如下:

{$var|modifier1|modifier2|modifier3|…}

说明:1.不管应用了多少个函数,都应该以|来进行分离.

说明:2.参数用":"分开,如:

{$str|truncate:40:"..."}
//截取字符串长度为40,并以...结尾。

Smarty模板中常用的变量调解函数

成员方法名 描 述
capitalize 将变量里的所有单词首字母大写,参数值boolean型决定 带数字的单词是否首字大写,默认不大写
count_characters 计算变量值里的字符个数,参数值boolean型决定是否计 算空格数,默认不计算空格
cat 将cat里的参数值连接到给定的变量后面,默认为空
count_paragraphs 计算变量里的段落数量
count_sentences 计算变量里句子的数量
count_words 计算变量里的词数
date_format 日期格式化,第一个参数控制日期格式,如果传给date_format 的数据是空的,将使用第二个参数作为默认时间
default 为空变量设置一个默认值,当变量为空或者未分配时, 由给定的默认值替代输出
escape 用于html转码、url转码,在没有转码的变量上转换单引号、 十六进制转码、十六进制美化,或者JavaScript转码。 默认是html转码
indent 在每行缩进字符串,第一个参数指定缩进多少个字符, 默认是四个字符;第二个参数,指定缩进用什么字符代替
lower 将变量字符串小写
nl2br 所有的换行符将被替换成
.功能同PHP中的nl2br()函数一样
regex_replace 寻找和替换正则表达式,必须有两个参数,参数1是替 换正则表达式,参数2使用什么文本字串来替换
replace 简单的搜索和替换字符串,必须有两个参数,参数1是 将被替换的字符串,参数2是用来替换的文本
spacify 在字符串的每个字符之间插入空格或者其他的字符串., 参数表示将在两个字符之间插入的字符串,默认为一个空格
string_format 是一种格式化浮点数的方法,例如十进制数,使用sprintf 语法格式化。参数是必须的,规定使用的格式化方式。%d 表示显示整数,%.2f表示截取两个浮点数
strip 替换所有重复的空格,换行和tab为单个或者指定的字符串。 如果有参数则是指定的字符串
strip_tags 去除所有html标签
truncate 从字符串开始处截取某长度的字符,默认是80个
upper 将变量改为大写

php代码示例如下:

capitalize(首字母大写):

<{$a|capitalize}>

count_characters(字符计数):

<{$b|count_characters}>

cat(连接字符串):

<{$c|cat:world}>

count_paragraphs(计算段数)----(换行符\n):

<{$d|count_paragraphs}>

count_sentences(计算句数):

<{$e|count_sentences}>

count_words(计算词数):

<{$f|count_words}>

date_format(格式化日期):

<{$smarty.now|date_format:"%y-%m-%d %H:%I:%S"}>

default(默认值):

<{$biaoti|default:"no biaoti"}>

escape(编码):

<{$dz|escape}>

indent(首行缩进):

<{$in|indent}>
<{$in|indent:1:"\t"}>

nl2br换行符替换成:

<{$con|nl2br}>

regex_replace 正则替换

<{$h|regex_replace:"/[\r\t\n]/":" <br/> "}>

replace(替换)

<{$h|replace:"hello":"你好"}>

提醒:

往往开发中有时候是满足不了需求的,那就可以直接写这些变量调节器,其实所谓的变量调节器就是一个函数,在这里我们自己建一个,首先在plugins文件夹里面间建立一个php文件,命名一定按着他的规范。

modifier.capita.php

function Smarty_modifier_capita($string){
//函数命名也是有规范的
 return strtoupper(substr($string,0,1)).strtolower(substr($string,1));
}

模版文件调用:

<{$a|capita}>

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP截取汉字乱码问题解决方法mb_substr函数的应用
Mar 30 PHP
php set_magic_quotes_runtime() 函数过时解决方法
Jul 08 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
php动态生成函数示例
Mar 21 PHP
php根据年月获取季度的方法
Mar 31 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 PHP
PHP中mysql_field_type()函数用法
Nov 24 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
Dec 17 PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
php实现推荐功能的简单实例
Sep 29 PHP
基于PHP后台的Android新闻浏览客户端
May 23 #PHP
Smarty保留变量用法分析
May 23 #PHP
php parse_str() 函数的定义和用法
May 23 #PHP
Smarty简单生成表单元素的方法示例
May 23 #PHP
深入剖析PHP中printf()函数格式化使用
May 23 #PHP
深入理解php printf() 输出格式化的字符串
May 23 #PHP
PHP书写格式详解(必看)
May 23 #PHP
You might like
杏林同学录(二)
2006/10/09 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
php实现httpclient类示例
2014/04/08 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
JavaScript效率调优经验
2009/06/04 Javascript
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
2011/04/07 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
分享python数据统计的一些小技巧
2016/07/21 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
Python3最长回文子串算法示例
2019/03/04 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
介绍一下gcc特性
2015/10/31 面试题
自荐信的两点禁忌
2013/10/30 职场文书
学生安全教育材料
2014/02/14 职场文书
中学校庆方案
2014/03/17 职场文书
幼儿园标语大全
2014/06/19 职场文书
派出所正风肃纪剖析材料
2014/10/10 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
MySQL去除密码登录告警的方法
2022/04/20 MySQL