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

thinkphp不過濾html標籤怎麼辦

藏色散人
藏色散人原創
2022-12-05 10:11:102231瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn