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 相关文章推荐
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
PHP代码优化之成员变量获取速度对比
Feb 28 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
Zend Framework实现多文件上传功能实例
Mar 21 PHP
php格式化json函数示例代码
May 12 PHP
php cookie 详解使用实例
Nov 03 PHP
php自定义时间转换函数示例
Dec 07 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
Feb 10 PHP
老生常谈PHP面向对象之解释器模式
May 17 PHP
PHP如何使用cURL实现Get和Post请求
Jul 11 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二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
php向js函数传参的几种方法
2014/08/10 PHP
浅谈php提交form表单
2015/07/01 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
php-fpm中max_children的配置
2019/03/15 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
python函数缺省值与引用学习笔记分享
2013/02/10 Python
django模板结构优化的方法
2019/02/28 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
Python之Class&amp;Object用法详解
2019/12/25 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
皇马官方商城:Real Madrid Store
2016/09/02 全球购物
军用级手机壳,专为冒险而建:Zizo Wireless
2019/08/07 全球购物
捷科时代的软件测试笔试题
2015/11/09 面试题
经典演讲稿开场白
2014/08/25 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
国王的演讲观后感
2015/06/03 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
学生会工作感言
2015/08/07 职场文书
Spring Bean是如何初始化的详解
2022/03/22 Java/Android