PHP의 FILTER_SANITIZE_EMAIL 상수는 이메일 주소에서 허용되지 않는 모든 불법 문자를 제거하는 데 사용됩니다. 이 필터는 이메일 주소에 사용될 수 있는 문자(영문자, 숫자 및 !#$%&'*+-/=?^_`{|}~@.[].)만 남기고 나머지 문자는 모두 삭제합니다.
반환값
FILTER_SANITIZE_EMAIL 상수 자체는 아무것도 반환하지 않습니다. 실제 필터링 결과는 filter_var() 함수와 함께 사용할 때 얻을 수 있으며, 함수는 불법 문자가 제거된 정제된(sanitized) 이메일 문자열을 반환합니다.
사용 예제
아래 예제는 잘못된 문자가 포함된 이메일 주소를 FILTER_SANITIZE_EMAIL 필터로 정제하는 방법을 보여줍니다.
<?php
$myemail = "abc@demo//.com";
$myemail = filter_var($myemail, FILTER_SANITIZE_EMAIL);
echo $myemail;
?>
출력 결과
위 코드를 실행하면 다음과 같은 출력이 생성됩니다.
abc@demo.com
출력 결과에서 확인할 수 있듯이, 원본 문자열에 포함되어 있던 슬래시(//)가 제거되고 유효한 이메일 형식인 abc@demo.com만 남게 됩니다.
참고 사항
FILTER_SANITIZE_EMAIL은 입력값에서 불법 문자만 제거할 뿐, 해당 값이 실제로 유효한 이메일 형식인지까지 검증하지는 않습니다. 따라서 이메일 주소의 유효성을 확인하려면 FILTER_VALIDATE_EMAIL 상수를 함께 사용하는 것이 좋습니다.