Dal şablonunda HTML içeren dize nasıl görüntülenir?


164

Dal şablonunda HTML etiketleri içeren bir dizeyi nasıl görüntüleyebilirim?

PHP değişkenim şu html ve metni içeriyor:

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

Bunu dal şablonumda yaptığımda:

{{ word }}

Bunu anladım:

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

Bunun yerine bunu istiyorum:

<b> a word </b>

Bunu kolayca elde etmek mümkün müdür?


Bunu bir cevap olarak eklemeyeceğim, ancak bu soruya ulaşan insanlar için alternatif bir yaklaşım , StackOverflow'un yaptığı gibi değerleri Markdown'da saklamaktır . Ardından , HTML'nin güvenli olduğuna güvenebileceğinizden, otomatik çıkış özelliğiyle bir Twig filtresi oluşturabilirsiniz . Gerek yok , ve saklanan değerleri insan tarafından okunabilir! raw
rybo111

Yanıtlar:



77

Ayrıca kullanabilirsiniz:

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

böylece yalnızca <b>etikete izin verilir.


6
Yalnızca birkaç etikete izin vermek istiyorsanız bu sürümün tercih edilebilir olduğunu söyleyebilirim.
KalenGi

3
Beni neyin harekete geçirdiğine "ham" i son vermek gerekiyordu - önce koyardım.
Ben Y

Birden fazla etikete nasıl izin verirsiniz?
Riki137

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

birden fazla etikete izin vermek istiyorsanız


0

Eğer değişken gerekmiyorsa, sen metni tanımlayabilirsiniz
çevirileri / messages.en.yaml :
CiteExampleHtmlCode: "<b> my static text </b>"

sonra twig:
templates / about / index.html.twig ile kullanın
… {{ 'CiteExampleHtmlCode' }}
ya da benim gibi çoklu dillere ihtiyacınız varsa:
… {{ 'CiteExampleHtmlCode' | trans }}

Çeviri kullanımı hakkında daha fazla bilgi için https://symfony.com/doc/current/translation.html adresine göz atalım .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.