$escape_html
设置$escape_html
为true,Smarty将会为所有模板里的变量调用htmlspecialchars({$output}, ENT_QUOTES, SMARTY_RESOURCE_CHAR_SET);
, 效果等同于调用{$variable|escape:"html"}
。
模板设计者可以有选择地使用nofilter
标签来关闭此特性在某个变量上的作用:{$variable nofilter}
。
修饰器和过滤器的执行顺序如下: 修饰器, 默认修饰器, $escape_html设置, 注册的变量过滤器, 自动加载的变量过滤器, 模板实例的变量过滤器。 在默认修饰器后执行的每个步骤都可以使用nofilter
标签来关闭。
Note
这是编译时的选项。如果修改了该参数,你必须重新编译对应的模板才能生效。
来自
http://www.smarty.net/docs/zh_CN/variable.escape.html.tplSmarty escape编码
Smarty escape[编码]实例代码教程 - 用于html转码,url转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化,或者javascript转码。
escape[编码]
Parameter Position | Type | Required | Possible Values | Default | Description |
---|
1 | string | No | html,htmlall,url,quotes,hex,hexentity,javascript | html | This is the escape format to use. 使用何种编码格式。 |
用于html转码,url转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化,或者javascript转码。默认是html转码。
Example 5-11. escape
index.php:
$smarty = new Smarty;
$smarty->assign('articleTitle', "'Stiff Opposition Expected to Casketless Funeral Plan'");
$smarty->display('index.tpl');
index.tpl:
{$articleTitle}
{$articleTitle|escape}
{$articleTitle|escape:"html"} {* escapes & " ' < > *}
{$articleTitle|escape:"htmlall"} {* escapes ALL html entities *}
{$articleTitle|escape:"url"}
{$articleTitle|escape:"quotes"}
<a href="mailto:{$EmailAddress|escape:"hex"}">{$EmailAddress|escape:"hexentity"}</a>
OUTPUT:
'Stiff Opposition Expected to Casketless Funeral Plan'
'Stiff Opposition Expected to Casketless Funeral Plan'
'Stiff Opposition Expected to Casketless Funeral Plan'
'Stiff Opposition Expected to Casketless Funeral Plan'
%27Stiff+Opposition+Expected+to+Casketless+Funeral+Plan%27
\'Stiff Opposition Expected to Casketless Funeral Plan\'
<a href="mailto:%62%6f%62%40%6d%65%2e%6e%65%74">bob@me.net</a>
|
|
来自
http://www.yiibai.com/smarty/smarty_escape.html