PHP でエスケープを削除する方法
文字列はスラッシュを追加します (文字列 str)
データベースクエリステートメントなどの目的で、特定の文字の前にバックスラッシュを追加した文字列を返します。
これらの文字は、一重引用符 (')、二重引用符 (")、バックスラッシュ (\)、および NUL (ヌル文字)
ストリップスラッシュは逆の効果を持ちます。mysql や GET および POST データを処理する場合、データの引用符をエスケープする必要があることがよくあります。
?
PHP には、' (一重引用符)、" (二重引用符)、\ (バックスラッシュ)、および NULL 文字を自動的にエスケープできる 3 つの設定があります。
PHP ではこれをマジック クオートと呼びます。これら 3 つの設定は、HTTP リクエスト データ (GET、POST、および) に影響を与える magic_quotes_gpc です。 クッキー)。実行時に変更することはできません。 PHP のデフォルト値は on です。
?
magic_quotes_runtime オンにすると、データベースやテキスト ファイルなどの外部ソースからデータを取得して返すほとんどの関数は、バックスラッシュでエスケープされたデータを返します。このオプションは、PHP で実行時に変更できます。 のデフォルト値はオフです。
?
magic_quotes_sybase がオンになっている場合、バックスラッシュの代わりに一重引用符を使用して一重引用符をエスケープします。このオプションは完全に上書きされます magic_quotes_gpc。両方のオプションを同時にオンにすると、一重引用符は " にエスケープされます。また、二重引用符、バックスラッシュ、NULL はエスケープされます。 文字はエスケープされません。特殊記号を自動的にエスケープすると便利ですが、これによりプログラムの効率が低下し、プログラムの移植性が難しくなります。
?
サーバーのini設定がわからない場合 次に、get_magic_quotes_gpc()、get_magic_quotes_runtime() を呼び出す必要もあります。 または、ini_get() を使用してステータスを検出します。
ストリップスラッシュを使用してエスケープを削除します