PHP에서 멀티 바이트 스트링을 처리 할 때 MB_EREGI_REPLACE 기능은 매우 실용적인 도구입니다. 문자열의 정규 표현식을 대체하는 데 사용될 수 있으며 상류 및 소문자를 무시하면서 다중 바이트 인코딩을 지원합니다. 이 기사는 MB_EREGI_REPLACE 기능을 사용하여 텍스트의 NewLine 문자 ( \ r \ n , \ r 및 \ n 포함)를 html <br> 의 Newline Tags로 바꾸는 방법을 소개하여 웹 페이지에 Newline 효과를 올바르게 표시합니다.
HTML에서는 일반 라인 브레이크가 브라우저의 라인 브레이크 효과로 렌더링되지 않습니다. <br> 태그 만 텍스트 줄을 효과적으로 만들 수 있습니다. 따라서 사용자 입력 또는 파일에서 얻은 문자열에 Newline 문자가 포함되어 있고 웹 페이지에 직접 출력되는 경우 텍스트는 Newline이없는 전체 라인처럼 보입니다. <br> 태그로 최신 라인을 교체하는 것은 그러한 텍스트를 처리하기위한 일반적인 요구 사항입니다.
MB_EREGI_REPLACE 는 PHP의 다중 바이트 문자열에 대한 정기적 인 교체 기능이며 기능 서명은 다음과 같습니다.
string mb_eregi_replace ( string $pattern , string $replacement , string $string [, string $option = "msr" ] )
$ 패턴 : 일치하는 정규 표현 패턴 (Case Insensitive).
$ 교체 : 교체 문자열.
$ 문자열 : 문자열을 입력하십시오.
$ 옵션 : 선택적 일반 옵션, 기본값은 "MSR" 입니다.
다음 예제는 mb_eregi_replace를 사용하여 Newline을 <br> 로 바꾸는 방법을 보여줍니다.
<?php
// 인코딩을 설정하십시오 UTF-8
mb_internal_encoding("UTF-8");
// 보류중인 텍스트
$text = "이것이 첫 번째 줄입니다。\r\n이것은 두 번째 줄입니다。\n이것은 세 번째 줄입니다。\r이것은 네 번째 줄입니다。";
// 사용 mb_eregi_replace Newline 문자를 교체하십시오
$converted = mb_eregi_replace("\r\n|\r|\n", "<br>", $text);
// 출력 결과
echo $converted;
?>
정규 표현식 \ r \ n | \ r | \ n 모든 유형의 Newline 문자 :
Windows 스타일의 라인 이 깨집니다
Mac OS 용 라인 브레이크 (구 버전) : \ r
유닉스/리눅스 라인 브레이크 : \ n
웹 페이지가 출력되면 라인 브레이크를 올바르게 표시 할 수 있도록 <br> 로 교체하십시오.
PHP 환경에서 MBString 확장이 활성화되어 있는지 확인하십시오. 그렇지 않으면 MB_EREGI_REPLACE가 사용되지 않습니다.
MB_EREGI_REPLACE 는 사례에 민감하며 NewLine 캐릭터에는 영향을 미치지 않지만 다른 문자 교체에 도움이됩니다.
영어와 일반 문자 만 처리하는 경우 대신 preg_replace를 사용할 수 있지만 MB_EREGI_REPLAPE는 멀티 바이트 문자를 더 잘 지원합니다.
MB_EREGI_REPLACE를 사용하여 라인 브레이크 문자를 <br> 로 대체하는 것은 다중 바이트 문자열의 라인 브레이크 표시를 실현하는 좋은 방법이며 중국어와 같은 중국어 및 일본 문자를 포함하는 텍스트 처리 시나리오에 특히 적합합니다. 이 기술을 마스터하면 웹 페이지 텍스트의 디스플레이 효과 및 사용자 경험이 향상 될 수 있습니다.