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中动态HTML的输出技术
Oct 09 PHP
PHP 定界符 使用技巧
Jun 14 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
php设置静态内容缓存时间的方法
Dec 01 PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 PHP
Laravel如何创建服务器提供者实例代码
Apr 15 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 PHP
Yii 框架控制器创建使用及控制器响应操作示例
Oct 14 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开发环境配置记录
2011/01/14 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
广告切换效果(缓动切换)
2009/05/27 Javascript
2010年最佳jQuery插件整理
2010/12/06 Javascript
JS解析json数据并将json字符串转化为数组的实现方法
2012/12/25 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
2016/05/19 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
python rsa 加密解密
2017/03/20 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
python通过cython加密代码
2020/12/11 Python
畜牧兽医本科生的自我评价
2014/03/03 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
2016年元旦主持词
2015/07/06 职场文书
初中语文教学随笔
2015/08/15 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
2019消防宣传标语!
2019/07/10 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android