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 [email protected]";

  $str2 = "[email protected]";

  $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程序设计有所帮助。