PHP의 mb_eregi_replace() 함수는 멀티바이트(multibyte) 문자열을 지원하면서 대소문자를 구분하지 않고 정규 표현식에 일치하는 부분을 다른 텍스트로 치환하는 데 사용됩니다. 이 함수는 주어진 문자열에서 패턴과 일치하는 모든 부분을 검색한 뒤, 해당 부분을 지정한 대체 텍스트로 교체합니다. PHP 4.2 버전부터 지원되며, 한글·일본어·중국어 등 멀티바이트 문자를 다룰 때 특히 유용합니다.
문법(Syntax)
string mb_eregi_replace(str $pattern, str $replacement, str $string, str $options)
매개변수(Parameters)
mb_eregi_replace() 함수는 다음과 같은 네 개의 매개변수를 받습니다.
$pattern − 검색에 사용할 정규 표현식 패턴입니다. 멀티바이트 문자를 포함할 수 있으며, 이 함수는 항상 대소문자를 구분하지 않습니다.
$replacement − 패턴과 일치하는 부분을 대체할 텍스트입니다.
$string − 검색 대상이 되는 원본 문자열입니다.
$options − 검색 동작을 세부적으로 제어하기 위한 선택적 옵션입니다.
반환 값(Return Values)
치환이 성공하면 결과 문자열을 반환하고, 실패하면 오류를 발생시킵니다. 특히 입력된 문자열이 현재 설정된 인코딩에 유효하지 않은 경우 오류가 반환됩니다.
예제(Example)
<?php
// 인코딩을 UTF-8로 설정
$re = mb_regex_encoding("UTF-8");
// mb_eregi_replace() 함수가 'p' 문자를 'P'로 치환
// (대소문자를 구분하지 않으므로 'P'도 함께 처리됨)
$string = mb_eregi_replace("[p]", "P", "pHp Tutorial");
var_dump($re);
var_dump($string);
?>
출력 결과(Output)
bool(true) string(12) "PHP Tutorial"
위 예제에서 볼 수 있듯이, mb_eregi_replace()는 대소문자를 구분하지 않기 때문에 "pHp Tutorial" 문자열의 소문자 'p'와 대문자 'P'가 모두 'P'로 치환되어 최종적으로 "PHP Tutorial"이 반환됩니다.