: 단순히 문자를 가로 채면 야기 된 코드 문제를 피하기 위해 다중 바이트 인코딩 (예 : UTF-8)에 적합한 바이트별로 문자열을 가로 채립니다.
MB_STRPOS : 문자열에서 하위 문자열의 첫 번째 발생을 찾아 문자 오프셋을 반환합니다.
Multibyte 문자열을 처리하기 위해 Substr 또는 STRPOS를 사용할 때, 이러한 기능은 문자가 아닌 바이트를 기준으로 문자열을 처리하기 때문에 갈색 또는 절편이 발생할 수 있습니다. MB_SERIES 기능은 이러한 문제를 피하면서 다중 바이트 인코딩을 지원합니다.
특정 키워드에서 고정 길이 내용을 가로 채어야하는 UTF-8 인코딩 된 문자열이 있다고 가정합니다. MB_STRPOS를 사용하여 먼저 키워드 위치를 찾은 다음 MB_STRCUT를 사용하여 인터셉트 할 수 있습니다.
<?php
// 샘플 문자열(중국어에 포함)
$text = "방문에 오신 것을 환영합니다 gitbox.net 웹 사이트,더 흥미로운 콘텐츠를 얻으십시오!";
// 키워드
$keyword = "gitbox.net";
// 查找키워드位置
$pos = mb_strpos($text, $keyword, 0, 'UTF-8');
if ($pos !== false) {
// 从키워드开始,차단 된 후속 조치20바이트 컨텐츠
$cutStr = mb_strcut($text, $pos, 20, 'UTF-8');
echo $cutStr;
} else {
echo "키워드未找到。";
}
?>
위 코드에서 :
MB_STRPOS는 문자열에서 키워드의 문자 위치를 찾습니다.
MB_Strcut는 바이트로 문자열을 가로 채어 다중 바이트 문자가 차단되지 않도록합니다.
여러 개의 횡단을 피하십시오 <br> 먼저 MB_STRPOS를 사용하여 맹목적인 가로 채기와 잘못된 작업을 피하기 위해 정확한 위치를 찾으십시오.
캐릭터 무결성을 보장하십시오
MB_STRCUT 는 바이트로 가로 채기 때문에 다중 바이트 문자가 잘린 코드를 일으키는 것을 방지 할 수 있습니다.
인코딩 변환 오버 헤드 감소 <br> 추가 변환 인코딩없이 직접 멀티 바이트 보안 기능을 사용하여 성능을 저장하십시오.
UTF-8과 같은 다중 바이트 인코딩 된 텍스트를 처리 할 때 MB_SERIES 기능이 선호됩니다.
키워드가 포함 된 문자열을 가로 채면 먼저 키워드를 찾은 다음 차단하여 정확한 컨텐츠를 보장하십시오.
MB_STRCUT 의 길이 단위는 바이트이며 실제 요구에 따라 절편 길이를 조정해야합니다.
이 기사에 소개 된 방법을 통해 다중 바이트 문자열을 처리 할 때 프로그램의 실행 효율을 향상시키는 동시에 데이터의 정확성을 보장 할 수 없습니다.