条件修饰符
作用描述
eq
==
ne
!=
neq
!=
gt
>
lt
<
lte
<=
le
<=
gte
>=
ge
>=
is even
是否偶数
is odd
是否奇数
is not even
是否不是偶数
is not odd
是否不是奇数
not
!=
mod
求模
div by
是否能被整除
even by
商是否是偶数
odd by
商是否是奇数
&&
与
||
或
()
括号改变优先级
5、ldelim 和 rdelim
用于输出分隔符,也就是大括号 "{" 和 "}". 模板引擎总是尝试解释大括号内的内容,因此如果需要输出大括号,请使用此方法。请看下面的示例:
/tpl/index.tpl
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ldelim 和 rdelim</title> </head> <body> <{ldelim}>funcname<{rdelim}> 是 Smarty 中的一个函数。 <!-- 执行结果: <{funcname}> 是 Smarty 中的一个函数。 --> </body> </html>
6、literal
literal 标签区域内的数据将被当作文本处理,此时模板将忽略其内部的所有字符信息. 该特性用于显示有可能包含大括号等字符信息的 javascript 脚本. 当这些信息处于 {literal}{/literal} 标签中时,模板引擎将不分析它们,而直接显示,其实按照我的所有例子中的标签风格(因为在 init.inc.php 初始化文件中已经重新设置了左定界符和右定界符),而不是 Smarty 的默认风格,基本上不会产生这种情况。关于该函数的使用,请看下面的示例
/tpl/index.tpl
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>literal</title> </head> <body> <{literal}> <script language=javascript> <!-- window.alert(new Date()); --> </script> <{/literal}> </body> </html>
7、php
php 标签允许在模板中直接嵌入 php 脚本,此标签会把标签内部的内容当成 PHP 脚本进行解析执行。请看下面的示例
/tpl/index.tpl
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php</title> </head> <body> <{php}> echo date("Y-m-d H:i:s"); <{/php}> <!-- 执行结果: 2011-10-24 04:35:03 --> </body> </html>
8、strip
Web 开发者多次遇到空格和回车影响HTML输出的情形,为了得到特定的结果,因此你不得不在模板里运行所有的标签. 通常在难以理解或难以处理的模板中遇到此问题。Smarty 在显示前将除区任何位于 {strip}{/strip} 标记中数据的首尾空格和回车. 这样可以保证模板容易理解且不用担心多余的空格导致问题。
好了, Smarty 模板引擎中的内建函数先总结这么多,关于内建函数中两个最重要的函数(foreach,foreachelse、section,sectionelse)的使用,可参考前面一篇《PHP模板引擎Smarty内建函数foreach,foreachelse用法分析》
更多关于PHP相关内容感兴趣的读者可查看本站专题:《smarty模板入门基础教程》、《PHP模板技术总结》、《PHP基于pdo操作数据库技巧总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》