thinkphp不過濾html標籤的解決方法:1、開啟對應的tp檔案;2、透過「strip_tags(htmlspecialchars_decode($data['post']['post_content']));」方法對已經轉換的實體進行反轉即可。
本教學操作環境:Windows7系統、ThinkPHP5版、Dell G3電腦。
thinkphp不過濾html標籤怎麼辦?
TP5 使用strip_tags過濾html標籤不起作用的解決方法
在ThinkPHP5中使用strip_tags過濾html標籤不起作用的解決方案
在文章保存過程中需要取得前端由Uediter編輯器編輯的html內容中的文本,基本思路是使用PHP自帶函數strip_tags()直接過濾
於是直接編輯如下:
$data = $this->request->param(); $data['post']['content'] = strip_tags($data['post']['post_content']); echo $data['post']['post_content']; echo $data['post']['content'];
輸出內容如下,strip_tags()函數並沒有發揮作用:
<p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p> <p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p>
查看TP5手冊-輸入變數章節-變數過濾我們可以發現,TP5預設對前端傳過來的字串使用了htmlspecialchars轉換為HTML 實體,因此,我的解決辦法是對已經轉換的實體進行反轉,使用htmlspecialchars_decode()函數即可以實現:
$data = $this->request->param(); $data['post']['content'] = strip_tags(htmlspecialchars_decode($data['post']['post_content'])); echo $data['post']['post_content']; echo $data['post']['content'];
輸出如下,轉換成功:
<p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p> RWERWERWhgjghhfhgnbfghgh
推薦學習:《thinkPHP影片教學》
以上是thinkphp不過濾html標籤怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!