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

# stripslashes

(PHP 4, PHP 5, PHP 7)

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

### 説明

stripslashes ( string `$str` ) : string

クォートされた文字列を元に戻します。

> 注意:

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

stripslashes() の使用例は、PHP ディレクティブ magic_quotes_gpc が on (PHP 5.4 より前のバージョンでのデフォルト値) かつ、 データをエスケープして (データベースのような) ある場所に挿入していない場合です。 例えば、単純に HTML フォームからのデータを直接出力するような場合です。

### パラメータ

`str`

  入力文字列。

### 返り値

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

### 例

例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
            )

    )

### 参考

- addslashes() - 文字列をスラッシュでクォートする
- get_magic_quotes_gpc() - magic_quotes_gpc の現在の設定を得る