टहनी टेम्पलेट में HTML वाले स्ट्रिंग को कैसे प्रदर्शित करें?


164

मैं एक स्ट्रिंग कैसे दिखा सकता हूं जिसमें एचटीएमएल टैग शामिल हैं?

मेरे PHP चर में यह html और पाठ शामिल हैं:

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

जब मैं अपने टहनी टेम्पलेट में ऐसा करता हूं:

{{ word }}

मैंने इसे प्राप्त किया:

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

मैं इसके बजाय यह चाहता हूं:

<b> a word </b>

क्या यह आसानी से संभव है?


मैं इसे एक उत्तर के रूप में नहीं जोड़ूंगा, लेकिन इस सवाल पर पहुंचने वाले लोगों के लिए एक वैकल्पिक दृष्टिकोण मार्कडाउन में मूल्यों को संग्रहीत करना है , जैसे स्टैकऑवरफ्लो करता है । तब आप स्वचालित बचने के साथ एक ट्विग फ़िल्टर बना सकते हैं , क्योंकि आप सुरक्षित होने के लिए HTML पर भरोसा कर सकते हैं। कोई rawज़रूरत नहीं है, और आपके संग्रहीत मान मानव पठनीय हैं!
rybo111

जवाबों:


368

कच्चे कीवर्ड, http://twig.sensiolabs.org/doc/api.html#escaper-extension का उपयोग करें

{{ word | raw }}

1
रिप्लेस करते समय यह मेरे लिए काम नहीं कर रहा है। {{शब्द | बदलें ({(word_to_replace): '<b>' ~ (word_to_replace) ~ '</ b>'}) | कच्चा}} कोई विचार?
होनस्टास्टा

2
अद्यतन: मैंने इसे 'सेट' का उपयोग करके दूसरे चर में जोड़कर हल किया, फिर {{शब्द | raw}} ठीक काम करता है।
12

77

आप भी उपयोग कर सकते हैं:

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

ताकि केवल <b>टैग की अनुमति होगी।


6
यदि आप केवल कुछ टैग की अनुमति देना चाहते हैं तो मैं कहूंगा कि यह संस्करण बेहतर है।
कालेंजी

3
मुझे क्या हुआ "कच्चे" को अंतिम रूप देने की आवश्यकता है - मैंने इसे पहले रखा था।
बेन वाई

आप कई टैग कैसे दे सकते हैं?
Riki137

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

यदि आप कई टैग की अनुमति देना चाहते हैं


0

यदि आप चर की जरूरत नहीं है, आप में पाठ परिभाषित कर सकते हैं
अनुवाद / messages.en.yaml :
CiteExampleHtmlCode: "<b> my static text </b>"

फिर इसे ट्विग के साथ प्रयोग करें:
टेम्प्लेट / के बारे में / index.html.twig
… {{ 'CiteExampleHtmlCode' }}
या अगर आपको मेरी तरह बहुभाषी की जरूरत है:
… {{ 'CiteExampleHtmlCode' | trans }}

अनुवाद उपयोग के बारे में अधिक जानकारी के लिए , https://symfony.com/doc/current/translation.html का अवलोकन करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.