URL编码与smarty

时间:2013-04-16 14:09:00

标签: smarty

我想用智能编码网址。

 <a href="https://www.facebook.com/sharer/sharer.php?u={$var} " target="_blank"></a>

$ var包含我的数据网址

3 个答案:

答案 0 :(得分:13)

使用escape modifier,您可以设置可选的escape_type'url'以返回rawurlencode()。

{$var|escape:'url'}

默认情况下,{$ var | escape}使用escape_type'html'并返回htmlspecialchars(),其中'&amp;' (&符号)变为&amp;。所以'url'可能有用。 rawurlencode()保护文字字符不被解释为特殊的URL分隔符:

<a href="https://www.facebook.com/sharer/sharer.php?u={$var|escape:'url'} " target="_blank"></a>

答案 1 :(得分:0)

您可以使用转义修饰符

{$var|escape}

更多信息: http://www.smarty.net/docsv2/en/language.modifier.escape.tpl

答案 2 :(得分:0)

您也可以使用PHP函数urlencode作为修饰符。

PHP函数可以用作修饰符,$security允许。

//the "rewind" paramater registers the current location
<a href="{$SCRIPT_NAME}?page=foo&rewind={$smarty.server.REQUEST_URI|urlencode}">click here</a>