您好,登錄后才能下訂單哦!
這篇文章主要介紹Laravel模板實體轉義帶來的坑有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
問題
最近在Laravel項目中用到了百度編輯器,插入到數據庫我保存的是原始的html標簽代碼,沒有進行實體轉義。然后在修改的時候,需要讀取到數據庫中的數據,進行回顯,這時候竟然在編輯器里面顯示html標簽代碼<p>123</p>,這讓我很尷尬,因為以前在tp框架中也是這樣寫的,但是沒有問題。
搜索之路
在知道問題之后,我就開始找百度了,因為一開始的時候我并不知道是框架的原因,我以為是百度編輯器版本的原因,然后收到了許多答案,都是圍繞著htmlentities和html_entity_decode這兩個函數搞來搞去。我都有試過,但是都沒有用,然后這個問題就放下了。
正確方法
第二天我起來,感覺這個問題一定要解決,然后就搜索了看了Laravel官網的api,然后扎到blade模板這一節,看到這個。
Blade {{ }} statements are automatically sent through PHP's htmlspecialchars function to prevent XSS attacks.
意思是:使用{{}}會自動使用php中的htmlspecialchars方法來轉義成實體,然后輸出。
顯示未轉義數據
Hello, {!! $name !!}.
然后試了一下,大功告成!
以上是“Laravel模板實體轉義帶來的坑有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。