3
我在Twig中創建了一個過濾器,它在輸出周圍包裝了一些HTML。例如。創建一個樹枝過濾器,以HTML格式包裝輸出
{{ 'this is a "test"'|display }}
輸出
<div id="container">
<div id="content">
this is a "test"
</div>
<div id="toolbar">
<a href="/edit.php">edit</a>
</div>
</div>
的困境是,我想後續過濾器僅允許在原始內容應用,而不是在整個HTML。例如。
{{ 'this is a "test"'|display|upper|e }}
輸出
<DIV ID="CONTAINER">
<DIV ID="CONTENT">
THIS IS A "TEST"
</DIV>
<DIV ID="TOOLBAR">
<A HREF="/EDIT.PHP">EDIT</A>
</DIV>
</DIV>
,但你可以想像,我想這
<div id="container">
<div id="content">
THIS IS A "TEST"
</div>
<div id="toolbar">
<a href="/edit.php">edit</a>
</div>
</div>
輸出更換過濾器爲了喜歡
{{ 'this is a "test"'|upper|e|display }}
將工作上面的過濾器,但不是對於轉義過濾器,因爲它將自己始終放在過濾器隊列的末尾。它也應該與autoescape = true一起使用。
閱讀樹枝文檔,我無法找到一種標準的方式來做我想做的事。有人可能嘗試過類似的東西嗎?或者有人想出解決這個問題的辦法嗎?
在此先感謝!
謝謝。問題在於e過濾器是一個例外,並將其自身始終放在過濾器隊列的末尾。我還希望使用autoescape = true的函數。 –
但是,感謝您的輸入,我更新了上面的問題。 –
OMG,SF2仍然令人驚歎......然後嘗試製作自己的轉義過濾器,但您必須明確地使用它,我不認爲SF2會讓您改變它的自動轉義方法,據我所知。 – S3Mi