PHP 프로그래밍에서는 종종 문자열 대체를 처리 할 때 정규 표현 기능을 사용합니다. 많은 개발자들이 MB_EREGI_REPLACE 기능에 대해 들어 보았을 수도 있지만 실제로는 사실이 비면적이라는 것을 알고 있습니까? 이는 일반 모드의 경우 사례 문제에 중요한 영향을 미칩니다.
MB_EREG_REPLACE 는 다중 바이트 문자열에 PHP에 사용되는 정기적 인 교체 기능입니다. 그 특성은 사례에 민감하지 않으며 , 이는 MB_EREG_REPLACE (CASE-SENSTIVE)와 뚜렷한 대조를 이룹니다. 여기서 "i"는 "무시 사건"을 나타내며, 이는 상류 및 소문자를 무시하는 것을 의미합니다.
함수의 정의 양식은 다음과 같습니다.
mb_eregi_replace($pattern, $replacement, $string, $option = "msr")
$ 패턴 은 정규 표현 패턴이며 추가적인 케이스 수정자를 필요로하지 않습니다. i .
$ 대체는 교체 컨텐츠입니다.
$ string 은 대상 문자열입니다.
$ 옵션은 일치하는 패턴이며 사용자 정의 할 수 있습니다.
전통적인 preg_replace 함수에서 사례를 무시하려면 정규 표현식 끝에 i 수정자를 추가해야합니다.
preg_replace('/php/i', 'PHP', 'I love Php');
결과는 모든 경우 "PHP"를 대체합니다.
그러나 MB_EREGI_REPLACE는 예를 들어 I를 추가하지 않고 상류 및 소문자를 무시하기 위해 탄생합니다.
<?php
$original = "Hello Mb_EreGi_ReplAce Function!";
$result = mb_eregi_replace("mb_eregi_replace", "mb_eregi_replace", $original);
echo $result;
?>
입력이 mb_eregi_replace , mb_eregi_replace 또는 mb_eregi_replace인지 여부에 관계없이 올바른 일치로 대체 할 수 있습니다.
<?php
$text = "Visit https://m66.net for more info.";
$pattern = "M66.NET";
$replacement = "example.com";
// 사용 mb_eregi_replace 사례 무감각 교체
$result = mb_eregi_replace($pattern, $replacement, $text);
echo $result;
?>
산출:
Visit https://example.com for more info.
$ 패턴은 대문자이고 $ 텍스트 의 URL은 소문자이지만 여전히 성공적으로 일치합니다.
URL, 사서함, 파일 경로 등을 처리 할 때는 사례 민감도가 엄청납니다. 특히 다중 바이트 문자를 사용할 때는 일반적인 일반 함수를 사용하면 코드가 나거나 일치하는 실패가 발생할 수 있습니다.
MB_EREGI_REPLACE는 내부적으로 다중 바이트 안전 매칭 메커니즘을 사용하면서 상류 및 소문자를 무시하고 인코딩 작업을 단순화합니다.
MB_EREGI_REPLACE 는 사례에 민감하지 않은 다중 바이트 정규 교체 기능입니다.
i 수정자를 수동으로 추가 할 필요가 없습니다.
멀티 바이트 문자열 및 사례에 민감한 교체 요구 사항을 처리하는 데 적합합니다.
URL 도메인 이름을 교체 할 때 도메인 이름의 경우에 대해 걱정할 필요가 없습니다.
다음에 PHP에서 정기적 인 교체를 사용할 때는 사례 문제로 인한 일치 실패를 피하기 위해 합리적으로 함수를 선택해야합니다. MB_EREGI_REPLAPE는 많은 문제를 절약 할 수 있습니다.