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实现多条件查询实例代码
Jul 17 PHP
php学习笔记 类的声明与对象实例化
Jun 13 PHP
非常实用的php弹出错误警告函数扩展性强
Jan 17 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
php生成静态html页面的方法(2种方法)
Sep 14 PHP
PHP共享内存用法实例分析
Feb 12 PHP
CI框架集成Smarty的方法分析
May 17 PHP
php简单生成一组与多组随机字符串的方法
May 09 PHP
PHP实现打包zip并下载功能
Jun 12 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
Aug 21 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
Apr 09 PHP
php写入文件不覆盖的实例讲解
Sep 17 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 文件上传功能实现代码
2009/06/24 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
2016/03/05 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
详解webpack介绍&amp;安装&amp;常用命令
2017/06/29 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
swiper4实现移动端导航切换
2020/10/16 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
python将图片文件转换成base64编码的方法
2015/03/14 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
接口中的方法可以是abstract的吗
2015/07/23 面试题
大课间活动实施方案
2014/03/06 职场文书
上课说话检讨书
2015/01/27 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS