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 时间日期操作实战
Aug 26 PHP
解析php中call_user_func_array的作用
Jun 07 PHP
PHP header()函数常用方法总结
Apr 11 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
May 26 PHP
示例详解Laravel的注册重构
Aug 14 PHP
php中namespace及use用法分析
Dec 06 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
Jun 25 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
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
prototype class详解
2006/09/07 Javascript
jQuery each()小议
2010/03/18 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
2016/05/16 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
React创建组件的三种方式及其区别
2017/01/12 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
基于javascript的拖拽类封装详解
2019/04/19 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
[12:29]2018国际邀请赛 开幕秀
2018/08/22 DOTA
利用Fn.py库在Python中进行函数式编程
2015/04/22 Python
python实现的希尔排序算法实例
2015/07/01 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
为什么group by 和order by会使查询变慢
2014/05/16 面试题
预备党员入党自我评价范文
2014/03/10 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
旅游节目策划方案
2014/05/26 职场文书
党员领导干部承诺书
2014/05/28 职场文书
建筑工地质量标语
2014/06/12 职场文书
爱护公共设施演讲稿
2014/09/13 职场文书
如何写好活动总结
2019/06/21 职场文书
Mybatis是这样防止sql注入的
2021/12/06 Java/Android