首頁  >  文章  >  後端開發  >  詳解PHP函數 strip_tags的用法不足之處

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

巴扎黑
巴扎黑原創
2017-08-08 14:08:132032瀏覽

這篇文章主要介紹了詳解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 函數過濾a4b561c25d9afb9ac8dc4d70affff419 標籤,其實我希望得到下面這個結果:


<p>string</p>stringstring

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

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

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

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

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