PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのFILTER_SANITIZE_STRIPPED定数とは?使い方とオプションフラグを解説

FILTER_SANITIZE_STRIPPED定数は、文字列から不要な文字を除去(ストリップ)またはエンコードするためのサニタイズフィルターです。入力値に含まれるHTMLタグなどを取り除き、安全な文字列として扱いたい場面で活用できます。

なお、この定数はFILTER_SANITIZE_STRINGのエイリアスであり、PHP 8.1以降では非推奨となっている点に注意してください。新規に書くコードでは、strip_tags()関数や他のフィルターの利用が推奨されます。

オプションとフラグ

FILTER_SANITIZE_STRIPPEDと組み合わせて指定できる主なフラグは以下のとおりです。

  • FILTER_FLAG_NO_ENCODE_QUOTES … シングルクォートとダブルクォートをエンコードせず、そのまま残します
  • FILTER_FLAG_STRIP_LOW … ASCII値が32未満の文字を削除します
  • FILTER_FLAG_STRIP_HIGH … ASCII値が127より大きい文字を削除します
  • FILTER_FLAG_ENCODE_LOW … ASCII値が32未満の文字をエンコードします
  • FILTER_FLAG_ENCODE_HIGH … ASCII値が127より大きい文字をエンコードします
  • FILTER_FLAG_ENCODE_AMP … アンパサンド(&)を&にエンコードします

戻り値

FILTER_SANITIZE_STRIPPEDはあくまで定数のため、それ自体が何かの値を返すことはありません。実際のフィルタリング処理は、filter_var()関数の第2引数にこの定数を渡すことで行われます。

使用例

次の例では、HTMLタグを含む文字列をFILTER_SANITIZE_STRIPPEDでフィルタリングしています。

<?php
    $var = "<p><strong>Demo!</strong>text!<p>";
    var_dump(filter_var($var, FILTER_SANITIZE_STRIPPED));
?>

出力結果

実行すると、以下のように表示されます。

string(10) "Demo!text!"

<p>タグや<strong>タグがすべて除去され、「Demo!text!」という10文字の文字列だけが残っていることが確認できます。

  1. PHPのFILTER_VALIDATE_BOOLEAN定数とは?使い方と戻り値をわかりやすく解説

    PHPには、外部からの入力値を安全に検証するためのフィルター関数が多数用意されています。その中でもFILTER_VALIDATE_BOOLEANは、渡された値をブール値(真偽値)として評価するための定数です。filter_var()関数と組み合わせて使用することで、文字列が「真」を表す値なのか「偽」を表す値なのかを簡単に判定できます。 基本的な使い方 FILTER_VALIDATE_BOOLEANは、filter_var()関数の第2引数に指定して使用します。 <?php $var = on; var_dump(filter_var($var, FILTER_VALID

  2. PHPのstrtoupper()関数とは?使い方とサンプルコードを解説

    strtoupper()関数は、PHPの組み込み関数の一つで、文字列内のすべての英字を大文字に変換するために使用されます。引数として渡された文字列に含まれる小文字がすべて大文字に置き換えられ、変換後の新しい文字列が返されます。元の文字列自体は変更されません。基本構文strtoupper(str)パラメータstr − 大文字に変換したい文字列を指定します。このパラメータは必須です。戻り値strtoupper()関数は、すべての英字が大文字に変換された文字列を返します。なお、数字や記号などアルファベット以外の文字はそのまま維持されます。使用例以下は、strtoupper()関数を使って