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 입력을 사전에 걸러낼 수 있습니다.