関数・クラス解説

stripslashes

version:PHP 4, PHP 5, PHP 7 (公式)

バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

フォーマット

string : stripslashes ( string $str )

パラメータ

string $str
処理したい文字列

返値 string
バックスラッシュが取り除かれた文字列が返ります。ただし、2 つ並んだバックスラッシュ (\\) は 1 つのバックスラッシュ (\) として残ります。

解説

バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除き元の文字列に戻したものを返却します。例えば、HTML フォームからのデータを直接出力するような場合に利用されます。

注意:
stripslashes() は再帰的な処理を行いません。 この関数を多次元配列に適用する場合は、 再帰的な関数を使用する必要があります。

記述サンプル

//PHP 7.4.6で実行
//文字列を指定
$str = "I\'m a pen";

// 実行
$res = stripslashes($str);

//結果表示
echo $res;
I'm a pen

//マルチバイト文字列を指定
$str = "私は\'宇宙人\'だ";

// 実行
$res = stripslashes($str);

//結果表示
echo $res;
私は'宇宙人'だ

/* ----------------------------- */

//配列の再帰的処理の例(公式より)
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);

<p>上の例の出力は以下となります。</p>
Array
(
    [0] =&gt; f'oo
    [1] =&gt; b'ar
    [2] =&gt; Array
        (
            [0] =&gt; fo'o
            [1] =&gt; b'ar
        )

)

参考リンク

get_magic_quotes_gpc magic_quotes_gpc の現在の設定を得る
addslashes 特定の文字の前にバックスラッシュを付けてエスケープされた文字列を返す

タグ

バッククォート エスケープ String 文字列


公式リファレンス

書式

stripslashes ( string $str ) : string

説明

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

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

パラメータ

str
入力文字列。

返値

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

サンプル

例1 stripslashes() の例

$str = "Is your name O\'reilly?"; // 出力: Is your name O'reilly? echo stripslashes($str);

注意:

stripslashes() は再帰的な処理を行いません。 この関数を多次元配列に適用する場合は、 再帰的な関数を使用する必要があります。

例2 配列に対する stripslashes() の使用

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 の現在の設定を得る
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール