PHP의 quotemeta() 함수는 문자열에 포함된 메타 문자(meta-characters) 앞에 자동으로 백슬래시(\)를 붙여주는 함수입니다. 주로 정규 표현식에서 특수 문자가 의도치 않게 해석되는 것을 방지할 때 유용하게 사용됩니다.
이 함수가 백슬래시를 추가하는 사전 정의된 문자는 다음과 같습니다.
- 마침표 ( . )
- 백슬래시 ( \ )
- 플러스 기호 ( + )
- 별표 ( * )
- 물음표 ( ? )
- 대괄호 ( [ ] )
- 캐럿 기호 ( ^ )
- 달러 기호 ( $ )
- 괄호 ( ( ) )
문법(Syntax)
quotemeta(str)
매개변수(Parameters)
str − 검사할 입력 문자열입니다.
반환값(Return)
quotemeta() 함수는 메타 문자 앞에 백슬래시가 추가된 문자열을 반환합니다. 만약 입력 문자열이 비어 있다면 FALSE를 반환합니다.
예제 1
다음은 quotemeta() 함수의 기본적인 사용 예제입니다 −
<?php $str = "3 * 9 = 27"; echo quotemeta($str); ?>
출력 결과
3 \* 9 = 27
위 결과에서 별표( * ) 앞에 백슬래시가 추가된 것을 확인할 수 있습니다.
예제 2
다른 예제를 살펴보겠습니다 −
<?php $str = "The ticket cost for cricket match is 200$!"; echo quotemeta($str)."<br>"; ?>
출력 결과
The ticket cost for cricket match is 200\$!
이번에는 달러 기호( $ )와 느낌표( ! ) 앞에 각각 백슬래시가 붙은 것을 볼 수 있습니다. 이처럼 quotemeta() 함수는 정규 표현식 처리 전에 특수 문자를 안전하게 이스케이프하는 데 활용됩니다.