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 memcache扩展的三种安装方法
Apr 26 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
Jan 14 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
discuz目录文件资料汇总
Dec 30 PHP
php去除html标记的原生函数详解
Jan 27 PHP
Laravel搭建后台登录系统步骤详解
Jul 26 PHP
ThinkPHP3.2.1图片验证码实现方法
Aug 19 PHP
PHP获取当前执行php文件名的代码
Mar 02 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 PHP
PHP常用函数之格式化时间操作示例
Oct 21 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
php 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
toString()一个会自动调用的方法
2010/02/08 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
2015/08/28 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
了解JavaScript中let语句
2019/05/30 Javascript
详解JavaScript中精度失准问题及解决方法
2020/02/04 Javascript
Python中每次处理一个字符的5种方法
2015/05/21 Python
让Python更加充分的使用Sqlite3
2017/12/11 Python
使用pandas中的DataFrame数据绘制柱状图的方法
2018/04/10 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
教书育人演讲稿
2014/09/11 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
社区务虚会发言材料
2014/10/20 职场文书
党员理论学习心得体会
2016/01/21 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书