나뭇 가지 템플릿에 HTML이 포함 된 문자열을 표시하는 방법은 무엇입니까?


164

나뭇 가지 템플릿에 HTML 태그가 포함 된 문자열을 표시하려면 어떻게해야합니까?

내 PHP 변수에는 다음 html과 텍스트가 포함되어 있습니다.

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

나뭇 가지 템플릿에서이 작업을 수행 할 때 :

{{ word }}

나는 이것을 얻는다 :

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

대신 이것을 원합니다.

<b> a word </b>

이것을 쉽게 얻을 수 있습니까?


나는 이것을 대답으로 추가하지는 않지만이 질문에 도달하는 사람들을위한 대안은 StackOverflow 처럼 Markdown에 값을 저장하는 입니다. 그런 다음 자동 이스케이프를 사용하여 Twig 필터를 만들 수 있습니다. HTML을 안전하다고 신뢰할 수 있기 때문입니다. raw필요 하지 않으며 저장된 값을 사람이 읽을 수 있습니다!
rybo111

답변:



77

다음을 사용할 수도 있습니다.

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

<b>태그 만 허용됩니다.


6
태그를 몇 개만 허용하려면이 버전이 바람직하다고 말하고 싶습니다.
칼렌 기

3
나를 트립시킨 것은 "원시"를 마지막에 넣을 필요가있었습니다.
Ben 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.