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}

<script>

{literal}

function foobar{

 alert('foobar!');

}

{/literal}

</script>

<title>{#pageTitle#}</title>

<body bgcolor="{#bodyBgColor#}">

<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}" >

 <tr bgcolor="{#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 />

{append var='name' value="Bob" index="first"}

{append var='name' value="John" index="last"}

{$name.last}<br />

{foreach from=$family item=home}

{foreach from=$home item=person}

{$person}

{/foreach}

{/foreach}

{$family[1].girl}

<hr />

{assign var="name" value="张三丰"}

{$name}

</body>

php文件:index.php

<?php

require_once('libs/Smarty.class.php');

$smarty = new Smarty();

$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);

class Dog{  public $name;  public $age;  function leee(){   return $this->name."在干吗";  } } $dog = new Dog(); $dog->name="小狗"; $smarty->assign("dog",$dog);

//$str = "hello world,i am here. i love smarty!"; $str = "帅锅"; $str1 = "<a href='http://www.sina.com/'>新浪</a> And\n aassu@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","akie abfal   <a;fa>,dooerw,show databases,desc table");

$config = "Y-m-d H:i:s"; $smarty->assign("config",$config); $smarty->assign("yesterday",strtotime('-1 day')); //常量 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"); ?>

希望本文所述对大家的php程序设计有所帮助。