如何在Template Toolkit中的宏参数中使用HTML过滤器?

时间:2011-01-31 10:34:57

标签: perl catalyst template-toolkit

我有这样的事情:[% query | html %]

现在我想用它作为

[% MACRO l(text, args) BLOCK; c.localize(text, args); END; %] 
[% l('text:<b>[_1]</b> no:[_2]', [query | html,2]) %]

如果您尝试该示例,则无法使用,因为|无法在此处使用。这是Template Toolkit不接受的。我想要HTML-escape query。我怎么能这样做?

<b>移出引号不是解决方案,因为翻译的顺序可能与上述不同。

1 个答案:

答案 0 :(得分:2)

您可以[% USE HTML %]escape具体参数,例如:

[% USE HTML %]
[%# your code above %]
[% l('text:<b>[_1]</b> no:[_2]',  HTML.escape(query), 2) %]
相关问题