<span><span><span class="hljs-title function_ invoke__">mb_internal_encoding</span></span><span>(</span><span><span class="hljs-string">"UTF-8"</span></span><span>); </span><span><span class="hljs-comment">// 내부 문자 인코딩을 설정합니다</span></span><span>
</span><span><span class="hljs-variable">$pattern</span></span><span> = </span><span><span class="hljs-string">"[,,]+"</span></span><span>; </span><span><span class="hljs-comment">// 영어 쉼표와 중국 쉼표와 일치하십시오,하나 이상의 연속</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_split</span></span><span>(</span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>출력 결과 :
<span><span>Array
(
[</span><span><span class="hljs-meta">0</span></span><span>] => 사과
[</span><span><span class="hljs-meta">1</span></span><span>] => 바나나
[</span><span><span class="hljs-meta">2</span></span><span>] => 귤
[</span><span><span class="hljs-meta">3</span></span><span>] => 포도
[</span><span><span class="hljs-meta">4</span></span><span>] => 수박
)
</span></span>MB_SPLIT는 중국 쉼표를 자동으로 인식하고 문자열 세그먼트를 올바르게 완료합니다.
몇 가지 복잡한 시나리오에서는 먼저 문자열에 특정 패턴이 있는지 여부를 결정한 다음 세그먼트합니다. MB_EREG를 사용할 수 있습니다.
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">mb_ereg</span></span><span>(</span><span><span class="hljs-string">"[,,]"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>)) {
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_split</span></span><span>(</span><span><span class="hljs-string">"[,,]+"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-variable">$result</span></span><span> = [</span><span><span class="hljs-variable">$text</span></span><span>]; </span><span><span class="hljs-comment">// 분할이 필요하지 않습니다</span></span><span>
}
</span></span>이렇게하면 불필요한 세분화 작업을 피하고 효율성을 향상시킬 수 있습니다.
Unified Char
정규 모드 쓰기 : MBString의 정규 표현 구문은 약간 다르며 정사각형 괄호와 탈출 된 캐릭터의 올바른 사용에주의를 기울입니다.
성능 고려 사항 : 대형 텍스트와 여러 정기 경기를 수행 할 때 MB_EREG를 판사로 결합한 다음 세분화하면 효율성이 향상 될 수 있습니다.
MB_EREG 와 MB_SPLIT를 합리적으로 결합하여 다음을 수행 할 수 있습니다.
멀티 바이트 인코딩 된 문자열 세그먼트를 정확하게 처리합니다
다중 분리기에 대한 유연한 지원
사전 경기 조건에서 성능을 최적화하십시오
이러한 기술을 마스터하면 다국어 텍스트를 다룰 때 편안하게 만들 수 있으며 일반적인 차량 코드 및 세분화 오류를 피할 수 있습니다.
전체 코드 샘플 :
<span><span><span class="hljs-title function_ invoke__">mb_internal_encoding</span></span><span>(</span><span><span class="hljs-string">"UTF-8"</span></span><span>);
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-string">"사과,바나나,귤,포도,수박"</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">mb_ereg</span></span><span>(</span><span><span class="hljs-string">"[,,]"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>)) {
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_split</span></span><span>(</span><span><span class="hljs-string">"[,,]+"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-variable">$result</span></span><span> = [</span><span><span class="hljs-variable">$text</span></span><span>];
}
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>실행 후 올바른 분할 결과를 얻을 수 있습니다.