php 反斜杠處理函數
addslashes():對輸入字符串中的某些預定義字符前添加反斜杠,這樣處理是為了數據庫查詢語句等的需要。這些預定義字符是:單引號 (') ,雙引號 (") ,反斜杠 (/) ,NULL。
stripslashes():刪除由 addslashes() 函數添加的反斜杠。該函數用于清理從數據庫或 HTML 表單中取回的數據。(若是連續二個反斜杠,則去掉一個,保留一個;若只有一個反斜杠,就直接去掉。)
默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes(),不要對已經被 magic_quotes_gpc 轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義,遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測,例:
- if(get_magic_quotes_gpc()){
- code....
- }
addslashes() 例子:
- <?php
- $str="Who's John Adams?";
- echo$str." This is not safe in a database query.<br />";
- echoaddslashes($str) ." This is safe in a database query.";
- ?>
輸出結果:
Who's John Adams? This is not safe in a database query.
Who/'s John Adams? This is safe in a database query.
stripslashes() 例子:
echostripslashes("Who/'s John Adams?");
輸出結果:
Who's John Adams?
新聞熱點
疑難解答