首頁 > php框架 > ThinkPHP > thinkphp不過濾html標籤怎麼辦

thinkphp不過濾html標籤怎麼辦

藏色散人
發布: 2022-12-05 10:11:10
原創
2234 人瀏覽過

thinkphp不過濾html標籤的解決方法:1、開啟對應的tp檔案;2、透過「strip_tags(htmlspecialchars_decode($data['post']['post_content']));」方法對已經轉換的實體進行反轉即可。

thinkphp不過濾html標籤怎麼辦

本教學操作環境: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[&#39;post&#39;][&#39;content&#39;] = strip_tags(htmlspecialchars_decode($data[&#39;post&#39;][&#39;post_content&#39;]));
 
echo  $data[&#39;post&#39;][&#39;post_content&#39;];
echo  $data[&#39;post&#39;][&#39;content&#39;];
登入後複製

輸出如下,轉換成功:

<p>RWERWERWhgj<strong>ghhfhgn</strong>bfghgh</p>
RWERWERWhgjghhfhgnbfghgh
登入後複製

推薦學習:《thinkPHP影片教學

以上是thinkphp不過濾html標籤怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板