PHP對(duì)表單提交特殊字符的過濾和處理方法匯總
PHP關(guān)于表單提交特殊字符的處理方法做個(gè)匯總,主要涉及htmlspecialchars/addslashes/stripslashes/strip_tags/mysql_real_escape_string等幾個(gè)函數(shù)聯(lián)合使用,與大家共同交流。
一、幾個(gè)與特殊字符處理有關(guān)的PHP函數(shù)
函數(shù)名 |
釋義 |
介紹 |
htmlspecialchars |
將與、單雙引號(hào)、大于和小于號(hào)化成HTML格式 |
&轉(zhuǎn)成& |
htmlentities() |
所有字符都轉(zhuǎn)成HTML格式 |
除上面htmlspecialchars字符外,還包括雙字節(jié)字符顯示成編碼等。 |
|
|
|
addslashes |
單雙引號(hào)、反斜線及NULL加上反斜線轉(zhuǎn)義 |
被改的字符包括單引號(hào)(')、雙引號(hào)(")、反斜線backslash (\) 以及空字符NULL。 |
stripslashes |
去掉反斜線字符 |
去掉字符串中的反斜線字符。若是連續(xù)二個(gè)反斜線,則去掉一個(gè),留下一個(gè)。若只有一個(gè)反斜線,就直接去掉。 |
|
|
|
quotemeta |
加入引用符號(hào) |
將字符串中含有. \\ + * ? [ ^ ] ( $ ) 等字符的前面加入反斜線"\" 符號(hào)。 |
nl2br() |
將換行字符轉(zhuǎn)成 |
|
strip_tags |
去掉HTML及PHP標(biāo)記 |
去掉字符串中任何HTML標(biāo)記和PHP標(biāo)記,包括標(biāo)記封堵之間的內(nèi)容。注意如果字符串HTML及PHP標(biāo)簽存在錯(cuò)誤,也會(huì)返回錯(cuò)誤。 |
mysql_real_escape_string |
轉(zhuǎn)義SQL字符串中的特殊字符 |
轉(zhuǎn)義\x00 \n \r 空格 \ ' " \x1a,針對(duì)多字節(jié)字符處理很有效。mysql_real_escape_string會(huì)判斷字符集,mysql_escape_string則不用考慮。 |
相關(guān)文章
PDO防注入原理分析以及使用PDO的注意事項(xiàng)總結(jié)
這篇文章主要介紹了PDO防注入原理分析以及使用PDO的注意事項(xiàng)總結(jié),較為詳盡的講述了PDO防止注入的具體實(shí)現(xiàn)方法,具有很好的參考價(jià)值,需要的朋友可以參考下2014-10-10php實(shí)現(xiàn)的click captcha點(diǎn)擊驗(yàn)證碼類實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的click captcha點(diǎn)擊驗(yàn)證碼類實(shí)例,不同于以往傳統(tǒng)的驗(yàn)證碼,該驗(yàn)證碼類可實(shí)現(xiàn)手機(jī)用戶點(diǎn)擊某一位置確認(rèn)驗(yàn)證碼,非常實(shí)用,需要的朋友可以參考下2014-09-09PHP5中虛函數(shù)的實(shí)現(xiàn)方法分享
學(xué)過C++的人都應(yīng)該知道C++中有個(gè)虛函數(shù)的概念。而在php5中如何實(shí)現(xiàn)這個(gè)虛函數(shù)呢?2011-04-04PHP中preg_match正則匹配中的/u、/i、/s含義
這篇文章主要介紹了PHP中preg_match正則匹配中的/u、/i、/s含義,本文分別講解了這三個(gè)參數(shù)的含義,需要的朋友可以參考下2015-04-04