2011-01-31 68 views
0

我有這樣的事情:[% query | html %]如何在Template Toolkit的宏參數中使用HTML過濾器?

現在我想如果你嘗試,例如,它不會工作,因爲|不能有習慣使用它作爲

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

。這不被Template Toolkit所接受。我想HTML轉義query。我怎樣才能做到這一點?

<b>移出引號不是解決方案,因爲翻譯可能與上述順序不同。

+1

這不是很清楚你的要求。你能發佈一個完整的(但很簡短)的例子,我們可以通過tpage運行。 – 2011-01-31 11:26:38

回答

2

您可以[% USE HTML %]escape特定參數,例如:

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

不可能,因爲現實比這更復雜。我將更新示例,因爲參數的順序可能不會保持不變。 – Aftershock 2011-01-31 12:20:13

相關問題