smarty模板引擎中变量及变量修饰器用法实例
本文实例讲述了smarty变量及变量修饰器的应用。分享给大家供大家参考。具体如下:
模板文件:temp.htm:
{config_loadfile="foo.conf"} {$name.na1|cat:$name['na2']} {$name['na1']|cat:'与'|cat:$name.na2} {foreachfrom=$nameitem=na} {$na} {/foreach} {$dog->leee()}{$dog->name} <script> {literal} functionfoobar{ alert('foobar!'); } {/literal} </script> <title>{#pageTitle#}</title> <bodybgcolor="{#bodyBgColor#}"> <tableborder="{#tableBorderSize#}"bgcolor="{#tableBgColor#}"> <trbgcolor="{#rowBgColor#}"> <td>dosomething</td> <td>帅锅</td> </tr> </table> {$smarty.server.SERVER_NAME} <hr/> {$str|count_words} <hr/> -------常量--------<br> {$smarty.now}<br/>{$smarty.const.MY_CONST}<br/>{$smarty.template}<br/>{$smarty.current_dir}<br/>{$smarty.version}<br/>{$smarty.ldelim|cat:$smarty.rdelim} <hr/> {$smarty.now|date_format:$config} {$yesterday|date_format:'Y-m-d'} <hr/> {$string|default:'default变量修饰:smarty学习'} <hr/> {$str1|escape:'html'}<br/>{$str2|escape:'mail'} <hr/> <p>{$str1|indent|upper}</p> {$str1|nl2br} <hr/> {$str1|regex_replace:"/@\d{3}/":"ABC"}<br/> {$str1|replace:"163":"sina"}<br/> {$str1|spacify}<br/> <hr/> {$number|string_format:"%.2f"}<br/> {$number|string_format:"%d"}<br/> <hr/> {$str3|strip:"|"}<br/> 去除包含在<>之间的字符:{$str3|strip_tags}<br/> 截取长度:{$str3|truncate:10:"...":true}<br/> 按长度换行:{$str3|wordwrap:30:"<br/>"} <hr/> {appendvar='name'value="Bob"index="first"} {appendvar='name'value="John"index="last"} {$name.last}<br/> {foreachfrom=$familyitem=home} {foreachfrom=$homeitem=person} {$person} {/foreach} {/foreach} {$family[1].girl} <hr/> {assignvar="name"value="张三丰"} {$name} </body>
php文件:index.php
<?php require_once('libs/Smarty.class.php'); $smarty=newSmarty(); $smarty->setTemplateDir($_SERVER['DOCUMENT_ROOT']."/php/templates/"); $smarty->setCompileDir($_SERVER['DOCUMENT_ROOT']."/php/templates_c/"); $smarty->setCacheDir($_SERVER['DOCUMENT_ROOT']."/php/cache/"); $smarty->caching=false; $arr=array("na1"=>"帅锅","na2"=>"美女"); $smarty->assign("name",$arr);
classDog{ public$name; public$age; functionleee(){ return$this->name."在干吗"; } } $dog=newDog(); $dog->name="小狗"; $smarty->assign("dog",$dog);
//$str="helloworld,iamhere.ilovesmarty!"; $str="帅锅"; $str1="<ahref='http://www.sina.com/'>新浪</a>And\naassu@163.com"; $str2="aassu@163.com"; $smarty->assign("str",$str); $smarty->assign("str1",$str1); $smarty->assign("str2",$str2); $smarty->assign("number",30.293934); $smarty->assign("str3","akieabfal <a;fa>,dooerw,showdatabases,desctable");
$config="Y-m-dH:i:s"; $smarty->assign("config",$config); $smarty->assign("yesterday",strtotime('-1day')); //常量 define("MY_CONST","百度");
//append成员方法的使用 $family=array("husband"=>"帅锅","wife"=>"美女"); $famiadd=array("boy"=>"张三丰","girl"=>"王昭君"); $smarty->append("family",$family); $smarty->append("family",$famiadd); echo"<pre>"; print_r($family); $smarty->display("temp.htm"); ?>