小枝テンプレートでHTMLを含む文字列を表示する方法は?


164

HTMLタグを含む文字列をtwigテンプレートに表示するにはどうすればよいですか?

私のPHP変数には、このhtmlとテキストが含まれています。

$word = '<b> a word </b>';

私が小枝テンプレートでこれを行うと:

{{ word }}

私はこれを手に入れます:

&lt;b&gt; a word &lt;b&gt;

代わりにこれが欲しい:

<b> a word </b>

これは簡単に入手できますか?


私はこれを回答として追加しませんが、この質問に到達する人々のための代替アプローチは、StackOverflowが行うようにMarkdownに値を格納することです。次に、HTMLが安全であると信頼できるため、自動エスケープ機能を持つTwigフィルターを作成できます。raw必要ありません。保存された値は人間が読める形式です!
rybo111

回答:



77

次のものも使用できます。

{{ word|striptags('<b>')|raw }}

<b>タグのみが許可されるようにします。


6
少数のタグのみを許可する場合は、このバージョンが望ましいと思います。
KalenGi 14

3
私をつまずかせたのは、「生」を最後に置く必要があった-私はそれを最初に置いた。
ベンY

複数のタグをどのように許可しますか?
Riki137

32
{{ word|striptags('<b>,<a>,<pre>')|raw }}

複数のタグを許可する場合


0

変数が必要ない場合は、
translations / messages.en.yamlでテキストを定義できます
CiteExampleHtmlCode: "<b> my static text </b>"

次に、twigで使用します:
templates / about / index.html.twig
… {{ 'CiteExampleHtmlCode' }}
または、私のような多言語が必要な場合:
… {{ 'CiteExampleHtmlCode' | trans }}

翻訳の使用に関する詳細については、https://symfony.com/doc/current/translation.htmlを見てみましょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.