인기있는 서버 측 언어로서 PHP는 종종 문자열을 가로 채어야합니다. 한자는 여러 바이트를 점유하기 때문에 일반 문자열 인터셉터 기능은 중국어를 정확하게 처리 할 수 없습니다. 이 기사는 중국 문자열을 가로 채는 몇 가지 실용적인 방법을 공유 하여이 문제를 쉽게 해결할 수 있도록 도와줍니다.
PHP의 내장 MB_Substr () 함수는 다중 바이트 문자를 위해 설계되었으며 중국 문자열을 정확하게 차단할 수 있습니다. 간단한 바이트 수가 아닌 문자 수에 따라 가로칩니다.
<span class="fun">mb_substr (String $ str, int $ start, int $ length, String $ charset = 'utf-8') : String</span>
매개 변수 설명 :
샘플 코드 :
$str = "PHP중국어 문자열을 가로 채세요";
$substr = mb_substr($str, 0, 6);
echo $substr; // 산출:"PHP가로 채기"
내장 기능 외에도 정규 표현식을 사용하여 preg_match ()를 결합하여 중국어를 가로 채는 것을 달성 할 수 있습니다. 정규 표현식은 특정 범위에서 유니 코드 중국어와 일치 할 수 있습니다.
샘플 코드 :
$str = "PHP중국어 문자열을 가로 채세요";
preg_match('/^([\x{4e00}-\x{9fa5}]+)/u', $str, $matches);
echo $matches[1]; // 산출:"PHP"
보다 유연한 차단 로직이 필요한 경우 함수를 사용자 정의하고 mb_strlen () 및 mb_substr ()를 결합하여 엘립스 시스와의 차단 효과를 달성 할 수 있습니다.
function substr_cn($str, $length) {
$len = mb_strlen($str, 'UTF-8');
if ($len > $length) {
$str = mb_substr($str, 0, $length, 'UTF-8') . '...';
}
return $str;
}
$str = "PHP중국어 문자열을 가로 채세요";
$substr = substr_cn($str, 6);
echo $substr; // 산출:"PHP가로 채기..."
위의 방법을 사용하는 경우 다음 사항에주의를 기울여야합니다.
중국 문자열을 가로 채는 것은 PHP 개발에서 일반적이고 중요한 요구 사항입니다. 내장 된 MB_SUBSTR () 함수, 정규 표현식 일치 및 사용자 정의 기능을 통해 중국 문자열의 차단은 유연하고 효율적으로 될 수 있습니다. 문자 인코딩 및 길이의 올바른 처리는 정확한 차단 결과를 보장하는 열쇠입니다. 이 기사의 방법이 프로젝트 개발에 대한 실질적인 참조를 제공 할 수 있기를 바랍니다.