stripslashes

(PHP 3, PHP 4, PHP 5)

stripslashes --  addslashes でクォートされた文字列のクォート部分を取り除く

説明

string stripslashes ( string str )

バックスラッシュが取り除かれた文字列を返します(\' ' になるなど)。 2 つ並んだバックスラッシュ (\\) は 1 つのバックスラッシュ (\) になります。

注意: magic_quotes_sybase が on の場合はバックスラッシュは取り除かれず、そのかわりに 2 つの アポストロフィが 1 つに置き換えられます。

stripslashes() の使用例は、PHP ディレクティブ magic_quotes_gpcon (デフォルトでオン) かつ、 データをエスケープして (データベースのような) ある場所に挿入していない場合です。 例えば、単純に 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() も参照ください。