這篇文章主要介紹了詳解PHP函數strip_tags 處理字串缺陷bug的相關資料,需要的朋友可以參考下
詳解PHP函數strip_tags 處理字串缺陷bug
PHP 函數strip_tags() 是一個常用函數,該函數可以剝去字串中的HTML、XML 以及PHP 的標籤。極大方便了對字串的操作,但是 strip_tags() 函數有缺陷bug,由於 strip_tags() 無法驗證 HTML 不完整或破損標籤將導致更多的資料被刪除。
範例:
$str = '<p>string</p>string<string<b>hello</b><p>string</p>'; echo strip_tags($str, '<p>');
#輸出:
<p>string</p>string
透過strip_tags 函數過濾 標籤,其實我希望得到下面這個結果:
<p>string</p>stringstring
導致我們未能得到所期望的結果,其實是因為字串中第三個string 左邊那個尖括號,strip_tags 函數誤刪除了其他字元。
經過查找 PHP 相關文件發現 strip_tags 函數 有一個警告:由於 strip_tags() 無法實際驗證 HTML,不完整或破損標籤將導致更多的資料被刪除。
既然無法驗證 HTML 標籤完整性,遇到字串中包含「<」或「>」導致誤刪字串中其他字元。
以上是詳解PHP函數 strip_tags的用法不足之處的詳細內容。更多資訊請關注PHP中文網其他相關文章!