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