addslashes

文字列をスラッシュでクォートする

説明

string addslashes(string $string)

エスケープすべき文字の前にバックスラッシュを付けて返します。 エスケープすべき文字とは、以下のとおりです。

  • シングルクォート (')
  • ダブルクォート (")
  • バックスラッシュ (\)
  • NUL (null バイト)

addslashes 関数 を使うケースとして、 PHPが評価する文字列データに含まれる、既に述べた文字をエスケープする場合があります。

<?php
$str 
"O'Reilly?";
eval(
"echo '" addslashes($str) . "';");
?>

addslashes 関数は、 SQLインジェクション を防止しようとして誤った使い方がされることがあります。 この関数を使うのではなく、データベース特有のエスケープ関数 および/もしくは プリペアドステートメントを使うようにしてください。

パラメータ

string

エスケープしたい文字列。

戻り値

エスケープされた文字列を返します。

例1 addslashes の例

<?php
$str 
"Is your name O'Reilly?";

// 出力: Is your name O\'Reilly?
echo addslashes($str);
?>

参考

  • stripcslashes
  • stripslashes
  • addcslashes
  • htmlspecialchars
  • quotemeta
  • get_magic_quotes_gpc