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

本文讲述了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


所有的换行符将被替换成<br/>.功能同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相关内容感兴趣的读者可查看本站专题:《smarty模板入门基础教程》、《PHP模板技术总结》、《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

(0)

相关推荐

  • PHP模板引擎Smarty自定义变量调解器用法

    本文实例讲述了PHP模板引擎Smarty自定义变量调解器用法.分享给大家供大家参考,具体如下: 在 PHP 中,有很多处理文本的函数,您可以把要处理的文本通过函数处理之后,再调用 Smarty 模板引擎中的 assign() 赋值给变量,分配到模板中进行显示. Smarty 中的变量调解器和 PHP 中处理文本的函数相似,不过语法不相同,在 Smarty 中,是通过 "|" 后面直接跟调解器函数名,如果有参数,得加在 ":" 后面,多个参数的话,累加即可. 格式:{

  • PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例

    本文实例讲述了PHP模板引擎Smarty之配置文件在模板变量中的使用方法.分享给大家供大家参考,具体如下: 配置文件在模板中的作用是:给前端设计页面定义变量,主要控制的是模板的外观,与 PHP 程序无关. 使用步骤: 1.使用 $tpl->configs_dir="目录"  //指定配置文件存放的目录: 2.在模板中要使用 <{configs_load file="配置文件"}> 加载f配置文件,如果有区域的话,可以使用 section="

  • smarty模板引擎中变量及变量修饰器用法实例

    本文实例讲述了smarty变量及变量修饰器的应用.分享给大家供大家参考.具体如下: 模板文件:temp.htm: 复制代码 代码如下: {config_load file="foo.conf"} {$name.na1|cat:$name['na2']} {$name['na1']|cat:'与'|cat:$name.na2} {foreach from=$name item=na} {$na} {/foreach} {$dog->leee()}{$dog->name} &l

  • PHP模板引擎Smarty内置变量调解器用法详解

    本文实例讲述了PHP模板引擎Smarty内置变量调解器用法.分享给大家供大家参考,具体如下: Smarty 中的变量调解器相当于函数,其调用方式为:通过 "|" 后面直接跟调解器函数名,如果有参数,得加在 ":" 后面,多个参数的话,累加即可. 下面为您介绍 Smarty 中内置的变量调解器: 1.capitalize 将变量里的所有单词首字大写.参数值 boolean 型决定带数字的单词,首字是否大写.默认不大写 index.php $tpl->assign

  • PHP模板引擎Smarty中变量的使用方法示例

    本文实例讲述了PHP模板引擎Smarty中变量的使用方法.分享给大家供大家参考,具体如下: 一.概述: Smarty 是 PHP 众多模板引擎中的一个,它是根据 PHP 编写的一个类库. Smarty 的优点: 1.优化网站访问速度: 2.网页前端设计和程序的分离: 二.Smarty 的安装 1.需要到 Smarty 的官方网站 http://www.smarty.net/download.php 下载最新的 Smarty 版本,比如下载的版本为:Smarty-2.6.18.tar.tar: 2

  • smarty简单模板变量输出方法 原创

    本文简单讲述了Smarty的模板变量输出方法.分享给大家供大家参考,具体如下: config.inc.php配置文件如下: include_once('smarty/Smarty.class.php'); $smarty=new Smarty(); $smarty->config_dir="smarty/Config_File.class.php"; $smarty->caching=false; //是否开启缓存 $smarty->template_dir=&quo

  • PHP模板引擎Smarty中的保留变量用法分析

    本文实例讲述了PHP模板引擎Smarty中的保留变量用法.分享给大家供大家参考,具体如下: 在 Smarty 中,有一些保留变量,它们是不需要 PHP 脚本去分配就可以直接使用,即不用使用 $_tpl->assign('var','value') 去分配. 1.在模板中访问页面请求的变量 {$smarty.get.user} == $_GET['user'] {$smarty.post.user} == $_POST['user'] {$smarty.cookie.username} == $_

  • smarty模板中使用get、post、request、cookies、session变量的方法

    {$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中的常量.从配置文件中读取变量等. 1.在模板中访问页面请求变量 我 们可以在PHP脚本中,通过超级全局数组$_GET.$_POST.$_REQUEST获取在客户端以不同方法提交给服务器的数据,也可以通 过$_COOKIE或$_SESSION在多个脚本之间跟踪变量,或是通过$_ENV和$_SERVER

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

    本文讲述了Smarty模板变量调节器用法.分享给大家供大家参考,具体如下: 在smarty里面,怎么修饰文本和变量呢?当然,你可以通过php函数处理文本,然后再通过assign()方法分配到模板,其实smarty提供了变量调节器能够很容易的处理文本,语法方式如下: {$var|modifier1|modifier2|modifier3|-} 说明:1.不管应用了多少个函数,都应该以|来进行分离. 说明:2.参数用":"分开,如: {$str|truncate:40:"...&

  • Smarty模板变量与调节器实例详解

    本文实例讲述了Smarty模板变量与调节器.分享给大家供大家参考,具体如下: Smarty中assign说明 可能有人在学习smarty的时候已经学习了一些php框架,如tp.laravel.Yii等,这里拿tp框架的assign和smarty做一些比较. $name=thinkphp; $this->assign('name',$name); $this->display(); $smarty=new Smarty(); $smarty->assign('name','smarty')

  • php中smarty模板条件判断用法实例

    本文实例讲述了php中smarty模板条件判断用法.分享给大家供大家参考.具体实现方法如下: 模板文件test6.html代码: <html> <head> <title>Smarty Test</title> </head> <body> <table width="200" border="0"> {if $cond == 1} <tr> <td>条件成立

  • PHP模板引擎Smarty内建函数foreach,foreachelse用法分析

    本文实例讲述了PHP模板引擎Smarty内建函数foreach,foreachelse用法.分享给大家供大家参考,具体如下: 在 Smarty 模板中,您可以使用 foreach 来重复一个区块.而在模板中则需要从 PHP 中分配过来一个数组.这个数组可以是多维数组.Smarty 中 {foreach} 标记和 PHP 中 foreach 相同,不同的是它们的一个在模板文件中使用,一个在 PHP 脚本中使用.因此,语法会不同.但是,它们的作用都是相同的,即遍历数组中的内容.与 {foreach}

  • ThinkPHP模板输出display用法分析

    本文实例分析了ThinkPHP模板输出display用法.分享给大家供大家参考.具体分析如下: 模板变量赋值后就需要调用模板文件来输出相关的变量,模板调用通过display方法来实现,我们在操作方法的最后使用: 复制代码 代码如下: $this->display(); 就可以输出模板,根据前面的模板定义规则,因为系统会按照默认规则自动定位模板文件,所以通常display方法无需带任何参数即可输出对应的模板,这是模板输出的最简单的用法. 事情总有特例,或者根本不需要按模块进行分目录存放,不过dis

  • thinkPHP模板算术运算相关函数用法分析

    本文实例讲述了thinkPHP模板算术运算相关函数用法.分享给大家供大家参考,具体如下: 函数定义如下: function you($num1,num2){ echo $num1*$num2/100; } <volist name="list" id="vo"> <tr> <td>{$vo.price|you=$vo.discount'}</td>或者:{$vo.price*$vo.discount/100} <

  • smarty section简介与用法分析

    基本原形为: {section name = name loop = $varName[, start = $start, step = $step, max = $max, show = true]} name: section的名称,不用加$ $loop: 要循环的变量,在程序中要使用assign对这个变量进行操作. $start: 开始循环的下标,循环下标默认由0开始 $step: 每次循环时下标的增数 $max: 最大循环下标 $show: boolean类型,决定是否对这个块进行显示,

  • PHP模板引擎Smarty内建函数section,sectionelse用法详解

    本文实例讲述了PHP模板引擎Smarty内建函数section,sectionelse用法.分享给大家供大家参考,具体如下: section 是 Smarty 模板中除了 foreach 以外的另一种处理循环的方案,section 比 foreach 要灵活,就像是一个改进的 foreach 语句,除了拥有相同的循环特性外,还提供了很多附加选项,可以更好的控制循环的执行.在模板中,必须使用成对的 section 标记,有两个必须设置的属性 name 和 loop ,关于 section 的属性请

  • Smarty变量调节器失效的解决办法

    Smarty的变量调节器是个不错的东西,一直以来都用着顺手,可昨天使用变量调节器时发现不管用. 复制代码 代码如下: {$name | upper} 仔细看了手册,看了smarty加载路径,上上下下检查了将近一个小时也没有发现问题所在.即将要陷入无奈的困境时,把代码删除了重新写成 复制代码 代码如下: {$name|upper} 结果好了.原来是变量后要直接跟着竖线,函数名,中间不能有空格,否则变量调节器的功能将失效.闹了半天,原来就是一个空格引起的,太不值当了!!! 看来以后调smarty程序

随机推荐