2013-07-02 23 views
1

嗨,我使用tinyMCE編輯器,並從數據庫檢索內容時出現問題。Youtube iframe解碼爲htmlentities

每當我鍵入此

Lorem ipsum dolor sit amet dolor amet sit dolor ipsum. 
[youtube_video_here] 

它成功地保存到數據庫中。然而,當我試圖從數據庫顯示它,而不是印刷下面的代碼

<iframe ....the rest of the code 

它打印

&gt;iframe ...the rest of the code &lt;&gt;/iframe> 

奇怪的是它打印其他HTML標籤如

<br/> or <p> 

正常。

我在CodeIgniter中使用PHP來檢索內容。

有沒有人有任何想法?

回答

1

有幾種方法可以實現這一點。並非所有人都能爲你工作,所以你必須嘗試,直到找到正確的解決方案。最好的方法是正確地存儲數據庫中的內容。

變體1. TinyMCE配置。加入這一行

extended_valid_elements: "iframe[src|width|height|name|align]" 

此處瞭解詳情:extended_valid_elements

變2解碼保存到數據庫在此之前PARAMS。用PHP你將這樣做:

$content = html_entity_decode($content); 

然後保存到您的數據庫。

變體3.快速&髒。也許我應該從這開始:)

$content = str_replace('&lt;iframe', '<iframe', $content); 
$content= str_replace('&gt;&lt;/iframe>', '></iframe>', $content); 
$content= str_replace('&gt;&lt;/iframe&gt;', '></iframe>', $content); 

讓我知道如果我可以得到進一步的幫助。

+1

在閱讀了關於選項#1的更多信息之後,它可以正常工作。 Thx很多....最後一個選項非常明顯... :) – Jeremy