Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP mb_eregi_replace() 함수 완벽 가이드 – 대소문자 무시 멀티바이트 정규식 치환

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"이 반환됩니다.