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

PHPのFILTER_SANITIZE_ENCODED定数とは?フラグと使い方を解説

FILTER_SANITIZE_ENCODEDは、PHPのフィルター定数の一つで、文字列に含まれる特殊文字をURLエンコード(パーセントエンコード)するために使用されます。filter_var()関数と組み合わせることで、URLなどに含まれる特殊文字を安全な形式へ変換できます。

利用できるフラグ

  • 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_SANITIZE_ENCODEDはあくまで定数であるため、それ自体が何かを返すことはありません。実際の処理では、この定数をfilter_var()関数の第2引数に渡し、その戻り値としてサニタイズ済みの文字列を受け取ります。

使用例

以下は、FILTER_FLAG_STRIP_HIGHフラグを使って、ASCII値が127より大きい文字を削除する例です。

<?php
    $url = "wwwÅ.exampleÅ.com";
    $url = filter_var($url, FILTER_SANITIZE_ENCODED, FILTER_FLAG_STRIP_HIGH);
    echo $url;
?>

出力結果

実行すると、非ASCII文字「Å」が取り除かれ、次のように出力されます。

www.example.com

続いて、別の例を見てみましょう。

使用例

<?php
    $url = "example.com££";
    $url = filter_var($url, FILTER_SANITIZE_ENCODED, FILTER_FLAG_STRIP_HIGH);
    echo $url;
?>

出力結果

ここでも同様に、ポンド記号「£」が削除され、次の出力が得られます。

example.com

このようにFILTER_SANITIZE_ENCODEDとフラグを組み合わせることで、不要な特殊文字の除去やエンコードを柔軟に制御でき、URLのサニタイズ処理などに役立ちます。

  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のtanh()関数とは?使い方と具体例をわかりやすく解説

    tanh()関数とはPHPのtanh()関数は、指定した値の双曲線正接(ハイパボリックタンジェント)を返す数学関数です。双曲線正接は双曲線関数の一つで、機械学習の活性化関数や信号処理など、さまざまな分野で活用されています。構文tanh(val)パラメータval − ラジアン単位で指定する数値戻り値tanh()関数は、指定した値「val」の双曲線正接を浮動小数点数(float)として返します。結果は常に -1 から 1 の範囲に収まるのが特徴です。使用例例1:0 と 1 の双曲線正接を取得する次の例では、0 と 1 の双曲線正接をそれぞれ求めて表示しています。<?php &nbs