smarty模板引擎中变量及变量修饰器用法实例


Posted in PHP onJanuary 22, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
一个程序下载的管理程序(四)
Oct 09 PHP
PHP生成静态页面详解
Dec 05 PHP
PHP简单系统查询模块代码打包下载
Jun 07 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
Fine Uploader文件上传组件应用介绍
Jan 06 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
Jun 05 PHP
PHP下载远程图片的几种方法总结
Apr 07 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
Jun 29 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
php中关于换行的实例写法
Sep 26 PHP
smarty内置函数capture用法分析
Jan 22 #PHP
smarty内置函数config_load用法实例
Jan 22 #PHP
smarty内置函数foreach用法实例
Jan 22 #PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 #PHP
smarty内置函数section的用法
Jan 22 #PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 #PHP
javascript数组与php数组的地址传递及值传递用法实例
Jan 22 #PHP
You might like
提升PHP速度全攻略
2006/10/09 PHP
php class类的用法详细总结
2013/10/17 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
一个JavaScript继承的实现
2006/10/24 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
2011/11/30 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
基于jQuery选择器之表单对象属性筛选选择器的实例
2017/09/19 jQuery
jQuery实现checkbox的简单操作
2017/11/18 jQuery
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
python中尾递归用法实例详解
2015/04/28 Python
python-numpy-指数分布实例详解
2019/12/07 Python
python将unicode和str互相转化的实现
2020/05/11 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
法国春天百货官网:Printemps.com
2020/06/29 全球购物
中学生学雷锋活动心得体会
2014/03/10 职场文书
文明倡议书范文
2014/04/15 职场文书
2014年五四青年节演讲比赛方案
2014/04/22 职场文书
会计求职信
2014/05/29 职场文书
房屋所有权证明
2014/10/20 职场文书
收入及婚姻状况证明
2014/11/20 职场文书
给老婆的保证书
2015/01/16 职场文书
小学生交通安全寄语
2015/02/27 职场文书
毕业实习单位意见
2015/06/04 职场文书
职工食堂管理制度
2015/08/06 职场文书
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python
springboot读取nacos配置文件
2022/05/20 Java/Android