Показать строку, которая содержит HTML в шаблоне ветки

102

Как я могу отобразить строку, содержащую HTML-теги в шаблоне twig?

Моя переменная PHP содержит этот html и текст:

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

Когда я делаю это в своем шаблоне ветки:

{{ word }}

Я получаю это:

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

Я хочу это вместо:

<b> a word </b>

Можно ли легко это сделать?

Теги:
twig

3 ответа

219
Лучший ответ

Использовать ключевое слово raw, http://twig.sensiolabs.org/doc/api.html#escaper-extension

{{ word | raw }}
  • 1
    При замене это не работает для меня. {{слово | replace ({(word_to_replace): '<b>' ~ (word_to_replace) ~ '</ b>'}) | raw}} Есть идеи?
  • 2
    ОБНОВЛЕНИЕ: я решил это, добавив его в другую переменную, используя 'set', затем {{word | raw}} работает отлично.
54

Вы также можете использовать:

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

чтобы разрешить использовать тег <b>.

  • 5
    Я бы сказал, что эта версия предпочтительнее, если вы хотите разрешить только несколько тегов.
  • 1
    Меня сбило с толку то, что мне нужно было поставить «сырой» последним - я бы поставил первым.
Показать ещё 1 комментарий
12
{{ word|striptags('<b>,<a>,<pre>')|raw }}

если вы хотите разрешить несколько тегов

Ещё вопросы

Сообщество Overcoder
Наверх
Меню