詳解PHP函數(shù) strip_tags 處理字符串缺陷bug
詳解PHP函數(shù) strip_tags 處理字符串缺陷bug
PHP 函數(shù) strip_tags() 是一個(gè)常用函數(shù),該函數(shù)可以剝?nèi)プ址械?HTML、XML 以及 PHP 的標(biāo)簽。極大方便了對(duì)字符串的操作,但是 strip_tags() 函數(shù)存在缺陷bug,由于 strip_tags() 無法驗(yàn)證 HTML 不完整或者破損標(biāo)簽將導(dǎo)致更多的數(shù)據(jù)被刪除。
例子:
$str = '<div>string</div>string<string<b>hello</b><div>string</div>'; echo strip_tags($str, '<div>');
輸出:
<div>string</div>string
通過 strip_tags 函數(shù)過濾 <b> 標(biāo)簽,其實(shí)我希望得到下面這個(gè)結(jié)果:
<div>string</div>string<stringhello<div>string</div>
導(dǎo)致我們未能得到所期望的結(jié)果,其實(shí)是因?yàn)樽址械谌齻€(gè) string 左邊那個(gè)尖括號(hào),strip_tags 函數(shù)誤刪除了其他字符。
經(jīng)過查找 PHP 相關(guān)文檔發(fā)現(xiàn) strip_tags 函數(shù) 有一個(gè)警告:由于 strip_tags() 無法實(shí)際驗(yàn)證 HTML,不完整或者破損標(biāo)簽將導(dǎo)致更多的數(shù)據(jù)被刪除。
既然不能驗(yàn)證 HTML 標(biāo)簽完整性,遇到字符串中包含“<”或“>”導(dǎo)致誤刪字符串中其他字符。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 幾個(gè)有用的php字符串過濾,轉(zhuǎn)換函數(shù)代碼
- PHP簡單字符串過濾方法示例
- php字符串過濾與替換小結(jié)
- php使用strip_tags()去除html標(biāo)簽仍有空白的解決方法
- PHP strip_tags保留多個(gè)HTML標(biāo)簽的方法
- PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 標(biāo)簽的函數(shù)
- PHP關(guān)于htmlspecialchars、strip_tags、addslashes的解釋
- PHP函數(shù)strip_tags的一個(gè)bug淺析
- PHP strip_tags()去除HTML、XML以及PHP的標(biāo)簽介紹
- php 去除html標(biāo)記--strip_tags與htmlspecialchars的區(qū)別詳解
- php字符串過濾strip_tags()函數(shù)用法實(shí)例分析
相關(guān)文章
php shell超強(qiáng)免殺、減少體積工具實(shí)現(xiàn)代碼
這不是webshell,只是個(gè)webshell免殺工具,切勿當(dāng)初webshell使用,僅限免殺phpwebshell2012-10-10PHP實(shí)現(xiàn)的英文名字全拼隨機(jī)排號(hào)腳本
這篇文章主要介紹了PHP實(shí)現(xiàn)的英文名字全拼隨機(jī)排號(hào)腳本,根據(jù)一個(gè)需求寫出的一個(gè)解決方案,需要的朋友可以參考下2014-07-07