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 相关文章推荐
php中inlcude()性能对比详解
Sep 16 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
Apr 26 PHP
探讨PHP删除文件夹的三种方法
Jun 09 PHP
php5.3 goto函数介绍和示例
Mar 21 PHP
windwos下使用php连接oracle数据库的过程分享
May 26 PHP
PHP计算一年多少个星期和每周的开始和结束日期
Jul 01 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
PHP面向对象程序设计之接口用法
Aug 20 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 PHP
Yii框架操作cookie与session的方法实例详解
Sep 04 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代码的53条建议
2008/03/27 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
Laravel学习教程之IOC容器的介绍与用例
2017/08/15 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
javascript中的 object 和 function小结
2016/08/14 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
js防刷新的倒计时代码 js倒计时代码
2017/09/06 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
Python3实现的反转单链表算法示例
2019/03/08 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
python版百度语音识别功能
2019/07/09 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
财务管理专业应届毕业生求职信
2013/09/22 职场文书
高级护理实习生自荐信
2013/09/28 职场文书
教师节慰问信
2015/02/15 职场文书
2015年司机工作总结
2015/04/23 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
详解python网络进程
2021/06/15 Python