跳到主要內容

特殊字元處理


在開發PHP專案中,總是會遇到表單輸入中文字或是特殊字元的情況。
為使用該表單的內容正確的存放到資料庫,必需經過一些處理才可能達成。
1. 首先將特殊字元加上『\』。
   EX: 'abc'是一個代號,請相關部門\人員注意。
   此段字串存在兩個特殊字元,『'』及『\』。
   使用PHP 字串函數:addslashes("'abc'是一個代號,請相關部門\人員注意。"); 將會變成
   『\'abc\'是一個代號,請相關部門\\人員注意。』
2. 一昧的使用的addslashes()函數,將會造成『\』的累加。存放此資料多次將會出現這個結果...
   『\\\\'abc\\\\'是一個代號,請相關部門\\\\\\\\人員注意。』
   為了避免此情況發生。我們可以使用get_magic_quotes_gpc()來判斷處理不必要的『\』。
   EX:
   echo get_magic_quotes_gpc();         // 1
   echo $_POST['lastname'];             // O\'reilly
   echo addslashes($_POST['lastname']); // O\\\'reilly
   if (!get_magic_quotes_gpc()) {
     $lastname = addslashes($_POST['lastname']);
   } else {
     $lastname = $_POST['lastname'];
   }
   echo $lastname; // O\'reilly
   $sql = "INSERT INTO lastnames (lastname) VALUES ('$lastname')";
   來源-php手冊

留言