在tpl文件中使用base64_encode

时间:2012-11-06 10:31:57

标签: php base64 smarty

我是聪明的新手并试图在其中做点什么。

现在,我在login.tpl(智能模板)文件中有以下代码

<input type="hidden" name="redirectTo" value="{$smarty.get.redirectTo}" />

根据我的理解,无论将来自url的GET数据放入该值中 隐藏的领域。

现在,我想使用base64_encode函数对此url数据进行编码。但是如何使用base64_encode对其进行编码,因为它不是php代码。我也尝试过这样:

{base64_encode($smarty.get.redirectTo)}

但这不起作用。

需要帮助......

由于

2 个答案:

答案 0 :(得分:3)

您还可以在PHP中创建$ smarty类的地方创建一个修饰符:

$smarty->registerPlugin("modifier",'base64_encode', 'base64_encode');

然后在TPL中调用它:

{$string_to_encode|base64_encode}

答案 1 :(得分:1)

您可以在

之前将输出分配给smarty变量
$smarty->assign('yourVarforsmarty', base64_encode($yourVar));

而不是在smarty模板中使用

{$yourVarforsmarty}

OR

像这样调用php函数

{php} 
  $temp = base64_encode($smarty.get.redirectTo); 
{/php}

<input type="hidden" name="redirectTo" value="{$temp}" />