PHP에서 멀티바이트 문자열 자르기
PHP에서 멀티바이트 문자열 자르기는 복잡한 작업이 될 수 있습니다. 이 기사에서는 멀티바이트 문자 인코딩과 단어 경계를 모두 고려하여 이러한 문자열을 지정된 수의 문자로 자르는 문제를 다룹니다.
이를 달성하기 위한 한 가지 접근 방식은 PHP에 내장된 mb_strimwidth() 함수를 사용하는 것입니다. 지정된 너비의 문자열을 자르는 경우. 그러나 이 함수는 단어 경계를 고려하지 않습니다.
잘림을 위한 사용자 정의 구현
멀티바이트 문자 인코딩과 단어 경계를 모두 처리하기 위해 사용자 정의 구현을 생성할 수 있습니다.
사용 예:
function truncate($string, $chars = 50, $terminator = ' …') { // Calculate truncation length $trunc_len = $chars - strlen($terminator); // Validate string length if (strlen($string) <= $trunc_len) { return $string; } // Find word boundary $space_pos = mb_strrpos($string, ' ', -$trunc_len); // Cut string if ($space_pos !== false) { $truncated_string = mb_substr($string, 0, $space_pos); } else { $truncated_string = mb_strimwidth($string, 0, $trunc_len); } // Append terminator return $truncated_string . $terminator; }
이 함수는 문자 인코딩과 단어 경계를 모두 고려하여 멀티바이트 문자열을 자르는 데 사용할 수 있습니다. 이는 이러한 일반적인 PHP 작업을 위한 간단하고 강력한 솔루션을 제공합니다.
위 내용은 단어 경계를 유지하면서 PHP에서 멀티바이트 문자열을 안전하게 자를 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!