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 echo 输出字符串函数详解
May 13 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
Sep 22 PHP
php中字符串和正则表达式详解
Oct 23 PHP
php采用curl模仿登录人人网发布动态的方法
Nov 07 PHP
PHP输入输出流学习笔记
May 12 PHP
php邮箱地址正则表达式验证
Nov 13 PHP
Zend Framework教程之响应对象的封装Zend_Controller_Response实例详解
Mar 07 PHP
php自定义函数实现二维数组排序功能
Jul 20 PHP
PHP结合Ueditor并修改图片上传路径
Oct 16 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 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
linux下为php添加curl扩展的方法
2011/07/29 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
基于jquery实现状态限定编辑的代码
2012/02/11 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
Python学习小技巧之列表项的拼接
2017/05/20 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
python复制文件到指定目录的实例
2018/04/27 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
Python 一句话生成字母表的方法
2019/01/02 Python
python学生管理系统开发
2019/01/30 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
python pandas 时间日期的处理实现
2019/07/30 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
JPA的优势都有哪些
2013/07/04 面试题
小学教师岗位职责
2013/11/25 职场文书
淘宝好评语大全
2014/05/05 职场文书
新文化运动的基本口号
2014/06/21 职场文书
房屋买卖协议样本
2014/11/16 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
大学班干部竞选稿
2015/11/20 职场文书
实习员工转正的评语汇总,以备不时之需
2019/12/17 职场文书
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript