1. 程式人生 > >【TP5.1】HTML標籤自動轉義,導致CKEditor儲存內容無法正常顯示!

【TP5.1】HTML標籤自動轉義,導致CKEditor儲存內容無法正常顯示!

問題:使用Thinkphp5.1 開發的時候顯示CKEditor儲存的內容不符合預期。

 

 

希望的樣子,肯定是不顯示<p><b>等標籤,而是下面的樣子。

 

因為剛開始使用TP5.1和CKEditor,所以遇到問題有點懵。立馬就去找官方文件,但是文件很多,不知從何看起。

這個問題其實與CKEditor沒有任何關係,因為在網頁編輯器的內容儲存到資料庫就是帶標籤的,而前臺就是現實帶標籤的內容,似乎一點問題都沒有。

突然,靈光乍現,是不是HTML轉義的問題!果然,TP5.1在使用模板標籤現實內容的時候預設會做htmlspecialchars()!

知道了原因,那麼如何解決呢?用htmlspecialchars_decode() 反轉義嗎? 當然不是!

<div class="retheader">{$data.name}的查詢結果如下:</div>
<div class="ret">{$data.desc|raw}</div>

正確和簡單的方式是在頁面中加一個"|raw" 即可! 這個解決方式非常簡單,但是如果不知道的人,也是會很傷腦筋哦!記錄且分享一下!