PHP には、文字列のエスケープに関連する 2 つの関数があります。それは、addslashes とtripslashes です。
addslashes($string) は、指定された定義済み文字の前にバックスラッシュ () を追加します。これは、データベースおよびデータベース クエリ ステートメントに格納されている文字列に適切な文字列を準備するために使用されます。
注: デフォルトでは、PHP ディレクティブ magic_quotes_gpc がオンになっており、すべての GET、POST、COOKIE データに対して addslashes() が自動的に実行されます。 magic_quotes_gpc によってエスケープされた文字列に対して addslashes() を使用しないでください。二重エスケープが発生するためです。この状況が発生した場合は、関数 get_magic_quotes_gpc() を使用して検出できます。
stripslashes($string) は、addslashes() 関数によって追加されたバックスラッシュを削除してエスケープされた文字を復元するために使用され、主にアンチエスケープとも呼ばれます。データベースからのデータまたはフォームから取得したデータ。
次のように、どの文字がアッドスラッシュによってエスケープされるか:
一重引用符 (')
二重引用符 (")
バックスラッシュ ()
ヌル
さらに、区切り文字として一重引用符を含む文字列は、2 つのエスケープ文字をサポートします。
一重引用符 (')
バックスラッシュ ()
n 改行 (LF または ASCII 文字 0x0A (10))
r キャリッジリターン (CR または ASCII 文字 0x0D (13))
t 水平タブ文字 (HT または ASCII 文字 0x09 (9))
\ バックスラッシュ
$ドル記号
「二重引用符
」
[0-7]{1,3} この正規表現シーケンスは、8 進数表記で表される文字と一致します
x[0-9A-Fa-f]{1,2} この正規表現シーケンスは、16 進表記で表される文字と一致します