欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

escape_html

shiping1 的头像

$escape_html

设置$escape_html为true,Smarty将会为所有模板里的变量调用htmlspecialchars({$output}, ENT_QUOTES, SMARTY_RESOURCE_CHAR_SET);, 效果等同于调用{$variable|escape:"html"}

模板设计者可以有选择地使用nofilter标签来关闭此特性在某个变量上的作用:{$variable nofilter}

修饰器和过滤器的执行顺序如下: 修饰器, 默认修饰器, $escape_html设置, 注册的变量过滤器, 自动加载的变量过滤器, 模板实例的变量过滤器。 在默认修饰器后执行的每个步骤都可以使用nofilter标签来关闭。

Note

这是编译时的选项。如果修改了该参数,你必须重新编译对应的模板才能生效。

Comments

来自 http://www.smarty.net/docs/zh_CN/variable.escape.html.tpl


Smarty escape编码

Smarty escape[编码]实例代码教程 - 用于html转码,url转码,在没有转码的变量上转换单引号,十六进制转码,十六进制美化,或者javascript转码。

escape[编码]

 

Parameter PositionTypeRequiredPossible ValuesDefaultDescription
1stringNohtml,htmlall,url,quotes,hex,hexentity,javascripthtmlThis 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
普通分类: