
이러한 오류는 `mb_ereg_search()` 함수가 사용하는 문자 인코딩과 `preg_match()` 함수가 사용하는 문자 인코딩이 다르기 때문입니다.
`preg_match()` 함수는 기본적으로 UTF-8 문자 인코딩을 사용하지만, `mb_ereg_search()` 함수는 사용자가 지정한 문자 인코딩을 사용합니다.
이 경우, `$matches` 배열에 결과가 담기지 않는 이유는 `mb_ereg_search()` 함수가 사용하는 문자 인코딩이 UTF-8이 아닌 다른 인코딩을 사용하기 때문입니다.
따라서, `mb_regex_encoding('UTF-8')` 함수를 사용하여 `mb_ereg_search()` 함수가 사용하는 문자 인코딩을 UTF-8로 설정해야 합니다.
또한, `preg_match()` 함수를 사용하는 경우, `mb_regex_encoding('UTF-8')` 함수를 사용하여 `preg_match()` 함수가 사용하는 문자 인코딩을 UTF-8로 설정하는 것이 좋습니다.
이러한 설정을 통해, `mb_ereg_search()` 함수와 `preg_match()` 함수가 사용하는 문자 인코딩이 일치하여, 오류가 발생하지 않습니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$pattern = '/bw+b/';
$text = '안녕하세요';
mb_regex_encoding('UTF-8');
preg_match($pattern, $text, $matches);
print_r($matches);
또는
#hostingforum.kr
php
$pattern = '/bw+b/';
$text = '안녕하세요';
mb_regex_encoding('UTF-8');
mb_ereg_search($pattern, $text, $matches);
print_r($matches);
이러한 코드를 실행하면, `$matches` 배열에 결과가 담겨 있습니다.
2025-07-25 13:19