トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF 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

[カテゴリ: プログラミング言語 > PHP]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2008年09月30日 16時32分07秒