2013-04-16 4 views
3

Я хочу кодировать URL-адрес с помощью smarty.URL-код с помощью smarty

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

$ вара содержит мой Datas URL

+0

@ user2261430 Вы нашли решение? –

ответ

10

С escape modifier вы можете установить дополнительный escape_type 'URL' для возврата rawurlencode().

{$var|escape:'url'} 

По умолчанию {$ вар | побег} использует escape_type 'HTML' и возвращает htmlspecialchars(), где '&' (амперсанд) становится &amp;. Поэтому «url» может быть полезен. rawurlencode() защищает буквенные символы интерпретируются как специальные URL-разделители:

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

Хммм, но вам также нужно избегать вещи в html? – Kzqai

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> 
Смежные вопросы