FILTER_SANITIZE_MAGIC_QUOTES 상수는 문자열에 addslashes() 함수를 적용하는 역할을 합니다. 이 필터는 미리 정의된 특정 문자 앞에 백슬래시(\)를 추가하는데, 대상 문자는 다음과 같습니다.
- 작은따옴표 (')
- 큰따옴표 (")
- 백슬래시 (\)
- NULL
이러한 기능은 주로 SQL 쿼리 등에서 특수 문자로 인해 발생할 수 있는 오류나 문법 충돌을 방지하기 위해 사용되었습니다.
반환 값
filter_var() 함수와 함께 사용하면, 필터링된 결과 문자열이 반환됩니다. 단, FILTER_SANITIZE_MAGIC_QUOTES 상수 자체는 별도의 값을 반환하지 않습니다.
사용 예제
<?php
$var = "Here's the string!!";
var_dump(filter_var($var, FILTER_SANITIZE_MAGIC_QUOTES));
?>
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
string(20) "Here\'s the string!!"
출력 결과에서 확인할 수 있듯이, 작은따옴표(') 앞에 백슬래시(\)가 자동으로 추가된 것을 볼 수 있습니다.
참고 사항
FILTER_SANITIZE_MAGIC_QUOTES 상수는 PHP 7.4부터 지원 중단(deprecated)되었으며, PHP 8.0에서는 완전히 제거되었습니다. 최신 PHP 버전에서는 이 필터 대신 addslashes() 함수나 PDO의 준비된 문(Prepared Statements)을 사용하는 것이 권장됩니다.