詳解PHP函數 strip_tags 處理字符串缺陷bug
PHP 函數 strip_tags() 是一個常用函數,該函數可以剝去字符串中的 HTML、XML 以及 PHP 的標簽。極大方便了對字符串的操作,但是 strip_tags() 函數存在缺陷bug,由于 strip_tags() 無法驗證 HTML 不完整或者破損標簽將導致更多的數據被刪除。
例子:
$str = '<div>string</div>string<string<b>hello</b><div>string</div>'; echo strip_tags($str, '<div>');
輸出:
<div>string</div>string
通過 strip_tags 函數過濾 <b> 標簽,其實我希望得到下面這個結果:
<div>string</div>string<stringhello<div>string</div>
導致我們未能得到所期望的結果,其實是因為字符串中第三個 string 左邊那個尖括號,strip_tags 函數誤刪除了其他字符。
經過查找 PHP 相關文檔發現 strip_tags 函數 有一個警告:由于 strip_tags() 無法實際驗證 HTML,不完整或者破損標簽將導致更多的數據被刪除。
既然不能驗證 HTML 標簽完整性,遇到字符串中包含“<”或“>”導致誤刪字符串中其他字符。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。