PHP對錶單提交特殊字元的過濾和處理

來源:互聯網
上載者:User

標籤:style   io   ar   os   使用   sp   strong   on   bs   

一、幾個與特殊字元處理有關的PHP函數
 函數名  釋義  介紹
htmlspecialchars 將與、單雙引號、大於和小於符號化成HTML格式 &轉成& 
"轉成"
‘ 轉成'
<轉成&lt;
>轉成&gt;
htmlentities() 所有字元都轉成HTML格式 除上面htmlspecialchars字元外,還包括雙位元組字元顯示成編碼等。
     
addslashes 單雙引號、反斜線及NULL加上反斜線轉義 被改的字元包括單引號 (‘)、雙引號 (")、反斜線 backslash (\) 以及Null 字元NULL。
stripslashes 去掉反斜線字元 去掉字串中的反斜線字元。若是連續二個反斜線,則去掉一個,留下一個。若只有一個反斜線,就直接去掉。
     
quotemeta 加入引用符號 將字串中含有 . \\ + * ? [ ^ ] ( $ ) 等字元的前面加入反斜線 "\" 符號。
nl2br() 將換行字元轉成<br>  
strip_tags 去掉HTML及PHP標記 去掉字串中任何 HTML標記和PHP標記,包括標記封堵之間的內容。注意如果字串HTML及PHP標籤存在錯誤,也會返回錯誤。
mysql_real_escape_string 轉義SQL字串中的特殊字元 轉義 \x00  \n  \r  空格  \  ‘  " \x1a,針對多位元組字元處理很有效。mysql_real_escape_string會判斷字元集,mysql_escape_string則不用考慮。

其它字串處理函數,請參考:知識分 享:PHP常用字串正則替換及剖分函數比較。

 

PHP常用正則匹配函數間的區別,主要有str_replace、str_ireplace、substr_replace、preg_replace、preg_match、preg_match_all、preg_quote、preg_split、ereg_replace、eregi_replace、preg_replace、str_split,當然其中有幾個不能使用Regex,但因為跟相關正則函數關係曖昧所以都放到一起比較一下,方便參考。

名稱 支援正則 特點 備忘
str_replace X 字串替換函數,大小寫敏感  
str_ireplace X 字串替換函數,大小寫不敏感,支援數組式批量替換 感謝網友franci,提醒添加
substr_replace X 部分替換字串函數,可以指定位置index  
       
preg_replace Y 指定匹配模式進行替換,支援子串引用  優先使用
ereg_replace Y 指定匹配模式進行替換,大小寫敏感,支援子串引用  
eregi_replace Y 指定匹配模式進行替換,大小寫不敏感,支援子串引用  
       
ereg Y 指定模式全文匹配,可以用來匹配判斷,或返回匹配數組  
preg_match Y 指定模式比對一次退出,可以用來是否匹配判斷,或使用返回的匹配數組  優先使用
preg_match_all Y 指定模式全文匹配,一般用來使用返回的匹配數組  優先使用
       
preg_split Y 指定匹配模式下正則剖分,如果能用最好還是使用explode或str_split  
str_split X 指定長度剖分字串,預設單個字元剖分成數組  
explode X 可以指定單個或多個字元剖分字串,成功則返回數組,例如12345按照34剖分則返回12和5  
       
 preg_quote  -  轉義Regex字元,意思就是為特殊字元加上反斜線,Regex的特殊字元包括:. + * ? [ ^ ] $ ( ) { } = ! < > | : -  
       

補充說明:

1、在PHP中有兩套Regex函數庫,功能非常相似:

一套是POSIX(Portable Operating System Interface of Unix )庫提供的,函數以ereg_首碼命名,POSIX正則函數庫目前已經不再推薦使用。

一套是PCRE(Perl Compatible Regular Expression)庫提供的,函數以preg_首碼命名,推薦大家優先使用。在PCRE中,通常將模式運算式(即Regex)包含在兩個反斜線“/”之間,如“/^w+$/”樣式。

2、PHPRegex作用:匹配提取、匹配替換。

PHP對錶單提交特殊字元的過濾和處理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.