현재 위치: > 최신 기사 목록> 정규 표현식 인코딩 설정을 위해 mb_get_info 및 mb_regex_encoding을 결합합니다

정규 표현식 인코딩 설정을 위해 mb_get_info 및 mb_regex_encoding을 결합합니다

gitbox 2025-05-29

Multibyte 현을 처리 할 때 PHP는 MBString 확장을 제공하여 문자 인코딩이 올바르게 구문 분석되도록합니다. 정규 표현식은 또한 설정을 인코딩하여 영향을받을 수 있습니다. 특히 UTF-8, Shift-Jis 또는 EUC-JP와 같은 멀티 바이트 인코딩 된 텍스트를 처리 해야하는 경우. 다행스럽게도 PHP는 MB_REGEX_ENCODING ()MB_GET_INFO () 기능을 제공하여 개발자가 일반 표현식의 인코딩 설정을 관리 할 수 ​​있도록 도와줍니다.

1. mb_regex_encoding () 란 무엇입니까?

mb_regex_encoding () 함수는 현재 멀티 바이트 정규 표현식에 사용되는 인코딩을 설정하거나 가져올 수 있습니다.

문법:

 mb_regex_encoding(?string $encoding = null): string|bool
  • 매개 변수가 전달되지 않으면 현재 인코딩을 반환합니다.

  • 인코딩 매개 변수가 전달되면 정규 표현식의 인코딩을 설정하고 이전 인코딩을 반환합니다.

2. mb_get_info () 의 역할

MB_GET_INFO ()는 언어, 내부 인코딩, HTTP 입력/출력 인코딩 및 정규식 인코딩 등을 포함한 현재 MBString 환경의 세부 구성 정보를 얻는 데 사용됩니다.

용법:

 mb_get_info(?string $type = null): array|string|false

$ 유형이 'regex_encoding' 으로 설정되면 현재 사용되는 인코딩을 반환합니다.

3. 함께 사용하는 방법?

다음은 MB_REGEX_ENCODING ()을 사용하여 정기 인코딩을 설정하는 방법을 보여주는 완전한 예입니다. MB_GET_INFO () 를 통해 설정이 효과적인지 확인하십시오.

 <?php
// 사용하도록 정규 표현식을 설정하십시오 UTF-8 코딩
$previousEncoding = mb_regex_encoding('UTF-8');

echo "原本的正则表达式코딩为:$previousEncoding\n";

// 验证当前正则表达式코딩是否为 UTF-8
$currentRegexEncoding = mb_get_info('regex_encoding');
echo "当前的正则表达式코딩为:$currentRegexEncoding\n";

// 정규 일치 샘플
$pattern = '\A[\p{Hiragana}ー]+\z'; // 히라 가나 캐릭터와 일치합니다
$subject = 'こんにちは';

if (mb_ereg($pattern, $subject)) {
    echo "성공적으로 일치합니다:$subject 히라 가나 텍스트입니다\n";
} else {
    echo "경기가 실패했습니다:$subject 히라가나 규칙을 준수하지 않습니다\n";
}
?>

위의 예에서 :

  • 먼저 정규식 인코딩을 UTF-8로 설정했습니다.

  • 그런 다음 mb_get_info ()를 사용하여 설정을 확인하십시오.

  • 그런 다음 mb_ereg ()를 사용하여 유니 코드 속성과 일치합니다.

PHP 설치에 MBString Extension이 활성화되어 있고 일반 유니 코드 모드를 지원하십시오.

4. 왜 이것이 매우 중요합니까?

적절한 인코딩을 사용하여 여러 언어, 특히 중국어, 가명 또는 기타 특수 문자와 관련된 콘텐츠를 다룰 때는 정기적으로 일치하는 결과를 피하거나 부정확 한 결과를 피할 수 있습니다. 현재 텍스트 인코딩을 지원하지 않는 정규 표현식을 사용하는 경우 일치하는 실패 또는 오류가 발생하기 쉽습니다.

5. 자주 묻는 질문

  • Q : 정규 표현식의 인코딩을 명시 적으로 설정하지 않으면 기본값은 무엇입니까? A : 기본 내부 문자 인코딩이 사용되지만 ( mb_internal_encoding () 에 의해 설정 됨)이지만 특정 값은 시스템 환경에 따라 다를 수 있으므로 명시 적으로 설정하는 것이 좋습니다.

  • Q : PHP가 MBString을 지원하는지 확인하는 방법은 무엇입니까? A : phpinfo ()를 실행하거나 extension_loaded ( 'mbstring')를 사용하여 확인할 수 있습니다.

6. 추가 독서