詳解PHP函數 strip_tags的用法不足之處

巴扎黑
發布: 2023-03-14 19:26:01
原創
2042 人瀏覽過

這篇文章主要介紹了詳解PHP函數strip_tags 處理字串缺陷bug的相關資料,需要的朋友可以參考下

詳解PHP函數strip_tags 處理字串缺陷bug

PHP 函數strip_tags() 是一個常用函數,該函數可以剝去字串中的HTML、XML 以及PHP 的標籤。極大方便了對字串的操作,但是 strip_tags() 函數有缺陷bug,由於 strip_tags() 無法驗證 HTML 不完整或破損標籤將導致更多的資料被刪除。

範例:


$str = &#39;<p>string</p>string<string<b>hello</b><p>string</p>&#39;;
 
echo strip_tags($str, &#39;<p>&#39;);
登入後複製

#輸出:


<p>string</p>string
登入後複製

透過strip_tags 函數過濾 標籤,其實我希望得到下面這個結果:


<p>string</p>stringstring

登入後複製

導致我們未能得到所期望的結果,其實是因為字串中第三個string 左邊那個尖括號,strip_tags 函數誤刪除了其他字元。

經過查找 PHP 相關文件發現 strip_tags 函數 有一個警告:由於 strip_tags() 無法實際驗證 HTML,不完整或破損標籤將導致更多的資料被刪除。

既然無法驗證 HTML 標籤完整性,遇到字串中包含「<」或「>」導致誤刪字串中其他字元。

以上是詳解PHP函數 strip_tags的用法不足之處的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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