Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP FILTER_VALIDATE_URL 상수로 URL 유효성 검사하기

FILTER_VALIDATE_URL 상수란?

FILTER_VALIDATE_URL 상수는 PHP에서 입력된 값이 올바른 URL 형식인지 검사할 때 사용되는 필터 상수입니다. 주로 filter_var() 함수와 함께 사용되어, 사용자가 입력한 URL이 유효한지 손쉽게 확인할 수 있습니다.

플래그(Flags)

  • FILTER_FLAG_SCHEME_REQUIRED − URL이 RFC 규격을 준수해야 합니다.

  • FILTER_FLAG_HOST_REQUIRED − URL에 호스트 이름이 반드시 포함되어야 합니다.

  • FILTER_FLAG_PATH_REQUIRED − 도메인 이름 뒤에 경로(path)가 반드시 존재해야 합니다.

  • FILTER_FLAG_QUERY_REQUIRED − URL에 쿼리 문자열(query string)이 반드시 포함되어야 합니다.

반환 값

FILTER_VALIDATE_URL 상수 자체는 별도의 값을 반환하지 않습니다. 이 상수는 filter_var() 함수의 두 번째 인자로 전달되며, 함수는 URL이 유효할 경우 해당 URL을 반환하고, 유효하지 않으면 false를 반환합니다.

예제 1

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

출력 결과

위 코드의 실행 결과는 다음과 같습니다.

Valid URL!

"https://www.example.com"은 스킴(scheme)과 호스트 이름을 모두 갖춘 완전한 URL이므로 유효한 것으로 판정됩니다.

이번에는 다른 예제를 살펴보겠습니다.

예제 2

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

출력 결과

실행 결과는 다음과 같습니다.

Invalid URL!

"examplecom"처럼 스킴(예: https://)이나 호스트 정보가 없는 단순 문자열은 유효한 URL로 인정되지 않기 때문에 "Invalid URL!"이 출력됩니다. 이처럼 FILTER_VALIDATE_URL을 활용하면 잘못된 형식의 URL 입력을 사전에 걸러낼 수 있습니다.