
preg_quote 함수는 정규표현식에서 사용되는 특수문자들을 문자열로 인식하도록 도와주는 역할을 합니다. 그러나 특정 상황에서 preg_quote 함수를 사용했을 때, 예상치 못한 결과가 발생하는 경우가 있습니다.
예를 들어, 다음과 같은 코드를 작성했습니다.
#hostingforum.kr
php
$string = "Hello, world!";
$pattern = "/Hello, world!/";
if (preg_match($pattern, $string)) {
echo "매치되었습니다.";
} else {
echo "매치되지 않았습니다.";
}
이 코드를 실행했을 때, 매치되었습니다.라는 메시지가 출력됩니다. 그러나 preg_quote 함수를 사용하지 않았기 때문에, Hello, world!라는 문자열이 매치되었습니다.라는 메시지를 출력하는 이유는 preg_match 함수가 문자열을 완전히 매치하는지 확인하는 함수이기 때문입니다. Hello, world!라는 문자열은 완전히 매치되기 때문에 매치되었습니다.라는 메시지가 출력됩니다.
preg_quote 함수를 사용했을 때, 매치되지 않았습니다.라는 메시지가 출력되는 이유는 preg_quote 함수가 특수문자들을 문자열로 인식하도록 도와주기 때문에, Hello, world!라는 문자열이 완전히 매치되지 않기 때문입니다.
preg_quote 함수를 사용하여 매치되지 않았습니다.라는 메시지를 출력하는 예제 코드는 다음과 같습니다.
#hostingforum.kr
php
$string = "Hello, world!";
$pattern = preg_quote("/Hello, world!/");
if (preg_match($pattern, $string)) {
echo "매치되었습니다.";
} else {
echo "매치되지 않았습니다.";
}
이 코드를 실행했을 때, 매치되지 않았습니다.라는 메시지가 출력됩니다.
2025-06-03 03:13