stripslashes
(PHP 3, PHP 4, PHP 5)
stripslashes --
addslashes でクォートされた文字列のクォート部分を取り除く
説明
string
stripslashes ( string str )
バックスラッシュが取り除かれた文字列を返します(\'
が ' になるなど)。
2 つ並んだバックスラッシュ (\\)
は 1 つのバックスラッシュ (\) になります。
stripslashes() の使用例は、PHP ディレクティブ
magic_quotes_gpc
が on (デフォルトでオン) かつ、
データをエスケープして (データベースのような)
ある場所に挿入していない場合です。
例えば、単純に HTML フォームからのデータを直接出力するような場合です。
例 1. stripslashes() の例
<?php $str = "Is your name O\'reilly?";
// 出力: Is your name O'reilly? echo stripslashes($str); ?>
|
|
注意:
stripslashes() は再帰的ではありません。もし、
この関数を多次元配列に適用する場合、
再帰的な関数を使用する必要があります。
例 2. 配列に対して stripslashes() を使用する
<?php function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
return $value; }
// 例 $array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar")); $array = stripslashes_deep($array);
// 出力 print_r($array); ?>
|
上の例の出力は以下となります。 Array
(
[0] => f'oo
[1] => b'ar
[2] => Array
(
[0] => fo'o
[1] => b'ar
)
) |
|
"マジッククオート" に関する詳細な情報は、
get_magic_quotes_gpc()
を参照してください。
addslashes(),
get_magic_quotes_gpc()
も参照ください。