這篇文章主要介紹了詳解PHP函數 strip_tags 處理字符串缺陷bug的相關資料,需要的朋友可以參考下
詳解PHP函數 strip_tags 處理字符串缺陷bug
PHP 函數 strip_tags() 是一個常用函數,該函數可以剝去字符串中的 HTML、XML 以及 PHP 的標簽。極大方便了對字符串的操作,但是 strip_tags() 函數存在缺陷bug,由于 strip_tags() 無法驗證 HTML 不完整或者破損標簽將導致更多的數據被刪除。
例子:
$str = '
string
stringhellostring
';echo strip_tags($str, '
');
輸出:
string
string通過 strip_tags 函數過濾 標簽,其實我希望得到下面這個結果:
string
stringstring導致我們未能得到所期望的結果,其實是因為字符串中第三個 string 左邊那個尖括號,strip_tags 函數誤刪除了其他字符。
經過查找 PHP 相關文檔發現 strip_tags 函數 有一個警告:由于 strip_tags() 無法實際驗證 HTML,不完整或者破損標簽將導致更多的數據被刪除。
既然不能驗證 HTML 標簽完整性,遇到字符串中包含“”導致誤刪字符串中其他字符。