먼저 MB_EREGI_REPLACE 의 기본 구문을 이해해 보겠습니다.
string mb_eregi_replace ( string $pattern , string $replacement , string $string [, string $option = "msri" ] )
이 기능은 사례에 민감한 정규 일치 및 다중 바이트 스트링 (예 : UTF-8 인코딩 된 중국어)의 교체를 특징으로합니다. 이 기능은 폐기 된 것으로 표시되었지만 여전히 일부 이전 버전이나 특정 환경에서 널리 사용됩니다.
우리의 일반적인 중국 구두점 지점은 다음과 같습니다.
전폭 쉼표 (,)
전체 폭 전체 정지 (.)
비명 (,)
전체 폭 세미 콜론 (;)
전폭 질문 마크 (?)
전폭 느낌표 (!)
전체 폭
이러한 구두점 마크는 영어 구두점으로 대체되거나 다른 응용 프로그램 시나리오에서 제거해야 할 수도 있습니다. 예를 들어, 통합 구두점은 검색 엔진 사전 처리, 콘텐츠 중복 제거 또는 텍스트 정규화에 매우 유용합니다.
중국어 텍스트로 모든 중국어 구두점 마크를 해당 영어 구두점 마크로 바꾸고 싶다고 가정 해 봅시다. MB_EREGI_REPLACE를 사용 하여이 프로세스를 완료하기 위해 여러 교체 단계와 협력 할 수 있습니다.
<?php
mb_internal_encoding("UTF-8");
$text = "안녕하세요,세계!이것은 테스트 텍스트입니다,다양한 중국 구두점 지점을 포함합니다:쉼표처럼、기간。게다가“견적 마크”、물음표?등.。";
// 맵 배열을 교체하십시오
$replacements = [
',' => ',',
'。' => '.',
'、' => ',',
';' => ';',
':' => ':',
'?' => '?',
'!' => '!',
'“' => '"',
'”' => '"',
'‘' => "'",
'’' => "'",
'(' => '(',
')' => ')',
'【' => '[',
'】' => ']',
'《' => '<',
'》' => '>'
];
foreach ($replacements as $chinese => $english) {
$pattern = preg_quote($chinese, '/');
$text = mb_eregi_replace($pattern, $english, $text);
}
echo $text;
?>
안녕하세요,세계!이것은 테스트 텍스트입니다,다양한 중국 구두점 지점을 포함합니다:쉼표처럼,기간.게다가"견적 마크",물음표?등..
이런 식으로, 우리는 중국어 구두점 마크를 중국어 텍스트의 영어 구두점으로 성공적으로 바꾸므로 후속 처리 또는 디스플레이에 편리합니다.
MB_EREGI_REPLACE는 버려진 다중 바이트 문자를 처리 할 수 있지만, 버려 졌기 때문에 MB_EREG_REPLACE 또는 PREG_REPLACE ( /u 수정 자와 함께)를 사용하는 것이 좋습니다.
많은 양의 텍스트 데이터를 처리하면 정기적 인 교체 대신 STRTR을 사용하는 것이 더 효율적일 수 있습니다.
교체하는 대신 구두점을 제거 해야하는 경우 영어를 빈 문자열로 설정하십시오.
온라인으로 스크립트를 디버깅하려면 <code> https://www.m66.net/php-runner </code>와 같은 온라인 PHP 런타임 환경에서 실제 효과를 관찰 할 수 있습니다.
MB_EREGI_REPLACE를 합리적으로 사용하면 중국어 텍스트로 문장 부호의 표준화를 쉽게 완료하여 텍스트 데이터 분석을위한 좋은 토대를 마련 할 수 있습니다.