我该如何在Twig模板中显示包含HTML标签的字符串?
我的PHP变量包含了这段HTML和文本:
$word = '<b> a word </b>';
当我在我的twig模板中执行以下操作:
{{ word }}
我得到了这个:
<b> a word <b>
我想要的是这个:
<b> a word </b>
这个是否可以轻松地获取?
使用raw关键字,https://twig.symfony.com/doc/3.x/api.html#escaper-extension
{{ word | raw }}
您也可以使用以下方法:
{{ word|striptags('<b>')|raw }}
只允许使用 <b>
标签。
{{ word|striptags('<b>,<a>,<pre>')|raw }}
如果您希望允许多个标签
如果您不需要变量,可以在translations/messages.en.yaml中定义文本:
CiteExampleHtmlCode: "<b>我的静态文本</b>"
然后在twig中使用它:
templates/about/index.html.twig
… {{ 'CiteExampleHtmlCode' }}
或者如果您像我一样需要多语言支持:
… {{ 'CiteExampleHtmlCode' | trans }}
请参阅https://symfony.com/doc/current/translation.html以获取有关如何使用翻译的更多信息。
只有在使用 "render" 之前才对我起作用:
node--mycontenttype.html.twig:
{{ content.field_my_field|render|striptags }}
raw
,并且您存储的值可供人类阅读! - rybo111