smarty模板引擎中变量及变量修饰器用法实例

 更新时间:2015年01月22日 14:28:50   投稿:shichen2014  
这篇文章主要介绍了smarty模板引擎中变量及变量修饰器用法,实例分析了smarty模板引擎中常见变量、变量修饰器及常量的具体用法,需要的朋友可以参考下

本文实例讲述了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批量生成静态HTML的简单原理和方法

    PHP批量生成静态HTML的简单原理和方法

    PHP生成HTML的技术要比ASP的技术相对来说要简单一点,下面简要说一下怎样用PHP批量生成HTML技术吧
    2014-04-04
  • ThinkPHP的SAE开发相关注意事项详解

    ThinkPHP的SAE开发相关注意事项详解

    这篇文章主要介绍了ThinkPHP的SAE开发相关注意事项,结合实例形式较为详细的分析了thinkPHP针对SAE开发的相关数据库、缓存、文件、图片、日志等操作注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • php判断手机浏览还是web浏览,并执行相应的动作简单实例

    php判断手机浏览还是web浏览,并执行相应的动作简单实例

    下面小编就为大家带来一篇php判断手机浏览还是web浏览,并执行相应的动作简单实例。小编觉得挺不错的,现在就分享给大家,也给的大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 用Simple Excel导出xls实现方法

    用Simple Excel导出xls实现方法

    因为前几天写了篇文章,用php-excel-reader类导入excel内容,顺便说些excel导出问题,需要的朋友可以了解下
    2012-12-12
  • PHP xpath提取网页数据内容代码解析

    PHP xpath提取网页数据内容代码解析

    这篇文章主要介绍了PHP xpath提取网页数据内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • yii2 上传图片的示例代码

    yii2 上传图片的示例代码

    这篇文章主要介绍了yii2 上传图片的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • Drupal读取Excel并导入数据库实例

    Drupal读取Excel并导入数据库实例

    这篇文章主要介绍了Drupal利用PHPExcel读取Excel并导入数据库的例子,需要的朋友可以参考下
    2014-03-03
  • laravel dingo API返回自定义错误信息的实例

    laravel dingo API返回自定义错误信息的实例

    今天小编就为大家分享一篇laravel dingo API返回自定义错误信息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • 深入PHP与浏览器缓存的分析

    深入PHP与浏览器缓存的分析

    本篇文章是对PHP与浏览器缓存进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Laravel6.18.19如何优雅的切换发件账户

    Laravel6.18.19如何优雅的切换发件账户

    这篇文章主要给大家介绍了关于Laravel6.18.19如何优雅的切换发件账户的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel6.18.19具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06

最新评论