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学习笔记 PHP面向对象的程序设计
Jun 13 PHP
PHP file_get_contents设置超时处理方法
Sep 30 PHP
常见php数据文件缓存类汇总
Dec 05 PHP
cakephp打印sql语句的方法
Feb 13 PHP
weiphp微信公众平台授权设置
Jan 04 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
php微信公众号开发之现金红包
Apr 16 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 PHP
Yii2框架加载css和js文件的方法分析
May 25 PHP
PHP中__set()实例用法和基础讲解
Jul 23 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
Oct 12 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 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
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP使用GIFEncoder类处理gif图片实例
2014/07/01 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
thinkphp5+layui实现的分页样式示例
2019/10/08 PHP
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
vue遍历生成的输入框 绑定及修改值示例
2019/10/30 Javascript
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
Python 将pdf转成图片的方法
2018/04/23 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
应聘自荐书
2013/10/08 职场文书
招标承诺书
2014/08/30 职场文书
企业整改报告范文
2014/11/08 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python