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

PHPのFILTER_SANITIZE_URL定数とは?使い方とサンプルコードをわかりやすく解説

FILTER_SANITIZE_URL定数とは

FILTER_SANITIZE_URLは、PHPのfilter拡張モジュールに用意されている定数の一つです。文字列からURLとして不正な(無効な)文字をすべて取り除き、安全なURL形式へとサニタイズするために使われます。

このフィルターで許可される文字は以下のとおりです。

$-_.+!*'(),{}|\^~[]`"><#%;/?:@&=

これら以外の文字、たとえば空白や日本語などのマルチバイト文字は削除されます。

戻り値

FILTER_SANITIZE_URL自体はフィルターIDを示す定数であり、単独では何も返しません。実際には、filter_var()関数の第2引数に指定して使用し、処理結果としてサニタイズされた文字列を受け取ります。

使用例

次のコードでは、filter_var()にFILTER_SANITIZE_URLを渡して文字列をサニタイズしています。

<?php
    $var = "www.example";
    var_dump(filter_var($var, FILTER_SANITIZE_URL));
?>

実行結果

上記コードの実行結果は以下のとおりです。

string(11) "www.example"

注意点:PHP 8.1以降での非推奨

FILTER_SANITIZE_URLは、PHP 8.1.0以降で非推奨(deprecated)となっています。将来のバージョンで削除される可能性があるため、新規コードではURLの妥当性チェックにFILTER_VALIDATE_URLを組み合わせるなど、より堅牢なバリデーション手法を採用することが推奨されます。

  1. PHPのrad2deg()関数とは?ラジアンを度(デグリー)に変換する方法

    PHPのrad2deg()関数は、ラジアン単位の値を度(デグリー)単位の値に変換するための組み込み関数です。引数として渡されたラジアン値 val を、それに相当する度数に変換して返します。三角関数(sin() や cos() など)はラジアンを扱う一方、人間にとって直感的な角度表現は「度」であることが多いため、この関数は数学的な計算やグラフ描画などの場面で非常に便利です。構文rad2deg(val)パラメータval − 度に変換したいラジアン値を指定します。数値型(int または float)を受け付けます。戻り値rad2deg() 関数は、指定されたラジアン値 val を度に変換した結果を返

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

    PHPのlog1p()関数は、log(1 + 数値) を計算するための数学関数です。この関数の大きな特徴は、引数として渡す数値がゼロに近い場合でも、高精度で計算結果を返せる点にあります。通常の log(1+x) の計算では、x が極端に小さい値だと浮動小数点数の精度の関係で誤差が生じやすくなりますが、log1p() を使えばその問題を回避できます。構文log1p(val)パラメータval − 計算対象となる数値を指定します。戻り値log1p() 関数は、log(1 + 数値) の計算結果を返します。数値がゼロに非常に近い場合でも、精度を保ったまま計算されるのが特徴です。使用例まずは、log1p