2013-05-08 66 views
0

我有一個聰明的變量,其中的html內容像︰ $html="<strong>Content</strong><br/>etc etc" 。 我嘗試將其顯示爲html格式。當顯示它像 {$html} 只顯示純文本沒有格式。我嘗試像: {$html|unescape} 但後來標籤顯示,但沒有應用。你有什麼建議嗎?顯示一個具有html內容的聰明變量

回答

-1

你可以試試:

PHP函數符號:

function html($str) { 
    $arr = array(
     "&lt;"  => "<", 
     "&gt;"  => ">", 
     "&quot;" => '"', 
     "&amp;"  => "&", 
     "&#92;"  => chr(92), 
     "&#39"  => chr(39), 
     "&#039;" => chr(39) 
    ); 
    return nl2br(strtr($str,$arr)); 
} 

在Smarty的模板調用:

{html({$html})} 

或者沒有PHP函數只有智者:

{$html|unescape:'allhtml'} 

注意:如果在TPL有無使用reset css你可以嘗試刪除它,然後再試一次。

0

在較新版本的smarty中,似乎unescape不可用。相反,請使用escape:'htmlentitydecode'

{$html|escape:'htmlentitydecode'} 
7

有趣的是,這裏的答案都沒有在CS-Cart 4.3.4上使用Smarty 3.1.21。所以,僅僅對$html字符串添加又一想在那種情況下,使用nofilter像這樣:

{$html nofilter}

+1

我愛你,在獲取RSS提要和顯示發佈說明期間,我正在爲cs-cart 4.4.3中的同一問題尋找同樣的解決方案。 – 2017-04-12 20:19:48

+1

謝謝你的傢伙,事實證明這是Prestashop 1.7中推薦使用的過濾器! – Zyfraglover 2017-10-04 15:27:01

1

你可以試試這個:

{$html|unescape: "html" nofilter} 
+0

添加一些解釋與答案如何幫助解決當前問題 – 2017-07-28 10:59:38