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_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() も参照ください。