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"); ?>