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分页函数
Oct 09 PHP
php date()日期时间函数详解
May 16 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
ThinkPHP处理Ajax返回的方法
Nov 22 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 PHP
Laravel框架使用Redis的方法详解
May 30 PHP
yii2的restful api路由实例详解
May 14 PHP
PHP容器类的两种实现方式示例
Jul 24 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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&amp;mysql(五)
2006/10/09 PHP
php实现图片添加水印功能
2014/02/13 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
Python简单实现enum功能的方法
2016/04/25 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
对python 操作solr索引数据的实例详解
2018/12/07 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
Python多线程多进程实例对比解析
2020/03/12 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
python中not、and和or的优先级与详细用法介绍
2020/11/03 Python
南京某公司笔试题
2013/01/27 面试题
营业员个人总结的自我评价
2013/10/25 职场文书
测绘工程专业求职信
2014/07/15 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
mysql创建存储过程及函数详解
2021/12/04 MySQL
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js