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

PHPのFILTER_VALIDATE_URL定数とは?URL検証の使い方を解説

FILTER_VALIDATE_URL定数は、値が有効なURLとして妥当かどうかを検証するために使用します。通常はfilter_var()関数と組み合わせて呼び出し、入力されたURLの形式チェックを行います。

使用できるフラグ

  • FILTER_FLAG_SCHEME_REQUIRED − URLがRFCに準拠しており、スキーム(http、httpsなど)を含む必要があります。

  • FILTER_FLAG_HOST_REQUIRED − URLにホスト名が含まれている必要があります。

  • FILTER_FLAG_PATH_REQUIRED − ドメイン名の後にパス(例:/path/page.php)が含まれている必要があります。

  • FILTER_FLAG_QUERY_REQUIRED − URLにクエリ文字列(例:?key=value)が含まれている必要があります。

戻り値

この定数を指定してfilter_var()を実行すると、検証に成功した場合は元のURLを返し、無効なURLの場合はfalseを返します。この仕組みにより、if文などの条件分岐で簡単にURLの妥当性を判定できます。

サンプルコード

次の例では、有効なURLを検証しています。

<?php
$url = "https://www.example.com";
if (filter_var($url, FILTER_VALIDATE_URL)) {
    echo("Valid URL!");
} else {
    echo("Invalid URL!");
}
?>

出力

実行結果は以下のとおりです。

Valid URL!

続いて、無効なURLを渡した場合の例を見てみましょう。

サンプルコード(無効なURLの場合)

<?php
$url = "examplecom";
if (filter_var($url, FILTER_VALIDATE_URL)) {
    echo("Valid URL!");
} else {
    echo("Invalid URL!");
}
?>

出力

実行結果は以下のとおりです。

Invalid URL!

補足

「examplecom」のようにスキームやドメインの区切りが正しくない文字列は、無効なURLと判定されます。より厳密なチェックを行いたい場合は、上記のフラグを第3引数としてfilter_var()に渡すことで、パスやクエリ文字列の存在などを必須条件にすることも可能です。

  1. PHPのFILTER_VALIDATE_FLOAT定数の使い方を解説

    FILTER_VALIDATE_FLOATは、PHPのfilter拡張モジュールで提供される定数の一つで、指定した値が有効な浮動小数点数(float)であるかどうかを検証するために使用します。主にfilter_var()関数と組み合わせて使われます。 基本的な使い方 filter_var()関数の第2引数にFILTER_VALIDATE_FLOATを渡すことで、値が浮動小数点数として妥当かどうかをチェックできます。検証が成功した場合はfloat型の値が返され、失敗した場合はfalseが返されます。 戻り値 検証に成功した場合:float型の値検証に失敗した場合:false 使用例 <?p

  2. 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