smarty模板引擎中变量及变量修饰器用法实例
这篇文章主要介绍了smarty模板引擎中变量及变量修饰器用法,实例分析了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 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");
- ?>