PHP FILTER_SANITIZE_URL 상수란?
FILTER_SANITIZE_URL 상수는 문자열에서 URL로 허용되지 않는 모든 불법 문자를 제거하는 PHP 내장 필터입니다. 주로 filter_var() 함수와 함께 사용되며, 사용자가 입력한 값을 안전한 URL 형식으로 정화(sanitize)해야 할 때 유용하게 활용됩니다.
허용되는 문자
이 필터는 영문자(A-Z, a-z)와 숫자(0-9)를 기본으로 허용하며, 그 외에 아래 특수 문자들도 허용합니다.
$-_.+!*'(),{}|\^~[]`"><#%;/?:@&=위 목록에 포함되지 않는 문자(공백, 한글, 기타 특수문자 등)는 문자열에서 모두 삭제됩니다.
반환 값
FILTER_SANITIZE_URL 자체는 상수이므로 그 자체로는 아무것도 반환하지 않습니다. 실제 정화된 결과를 얻으려면 filter_var() 함수의 두 번째 인자로 이 상수를 전달해야 하며, 이때 함수는 불법 문자가 제거된 문자열을 반환합니다.
사용 예제
다음은 FILTER_SANITIZE_URL 상수를 실제로 적용한 예제입니다.
<?php
$var = "www.example";
var_dump(filter_var($var, FILTER_SANITIZE_URL));
?>
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
string(11) "www.example"
입력 문자열 "www.example"에는 불법 문자가 포함되어 있지 않기 때문에, 필터링 후에도 원본 문자열이 그대로 반환됩니다. 만약 공백이나 허용되지 않는 특수문자가 포함되어 있다면 해당 문자들은 결과에서 제거됩니다.