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標簽不起作用的解決辦法
立即學習“PHP免費學習筆記(深入)”;
在文章保存過程中需要獲取前端由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視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦