トップ 一覧 置換 検索 ヘルプ RSS ログイン

シングルクオートがエスケープされるの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1211186822?fr=rcmd_chie_detail
http://gyauza.egoism.jp/clip/archives/2007/11/post-5/

文字列をgetだのpostで送ると、シングルクオートやダブルクオートが自動的にエスケープされる(\'とか\"になる)。

!プログラムでシングルクオートを外す
PHPには、magic quotes gpcという、クオートを自動的にエスケープする機能があり、このようなことになる。(php.ini内で切ることもできる)
エスケープをとりたい場合は、以下のようなコードを書いてエスケープをとる。

 function escMagicQuote($text){ 
     if(get_magic_quotes_gpc()){ 
         $text = stripslashes($text); 
     } 
     return $text; 
 }
:get_magic_quotes_gpc():magic quotes gpcがオンかオフかを返す
:stripslashes($str):$strのクオートエスケープ処理を削除 

!PHP.ini を編集してシングルクオートを外す
php.iniのmagic_quotes_gpcをOffに設定
 [php.ini]
 magic_quotes_gpc = Off

{{category2 プログラミング言語,PHP}}