我们有这个 Smarty 函数,它返回模板的 HTML 代码。然而,该函数也有可能返回一个空字符串,我们现在希望识别它。我们的系统多年来一直稳定运行,所以我正在寻找侵入性最小的解决方案。
是否可以将返回值分配给 smarty 变量?我曾尝试将它分配给一个 Javascript 变量,但是,因为部分 HTML 是用户生成的,返回字符串可能是双引号和单引号的混合,这会导致 IE 出现问题(不幸的是我们的大多数用户群)。
<script type="text/javascript">
var html = '{smarty function}'; //IE chokes on mixed quotes
</script>
任何帮助表示赞赏!
最佳答案
使用 escape
修饰符,例如:
{$variable|escape:'quotes'}
对于 smarty 函数,您可以先尝试
{smarty_function|escape:'quotes'}
是否有效,如果无效,则必须在转义之前先将函数的输出分配给变量,为此您使用 capture
: {capture name=mycapture}{smarty_function}{/capture}
{$smarty.capture.mycapture|escape:'quotes'}
关于php - 用smarty函数的返回值做事吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2046446/