UTF-8 문자로 문자열 자르기
문제:
멀티바이트 문자열을 지정된 문자 제한까지 자르기 PHP에서는 단어 경계를 유지하는 것이 어려울 수 있습니다. 이 문제는 멀티바이트 문자와 일관되게 작동해야 하는 truncate()라는 사용자 정의 메서드를 사용하여 이 기능을 구현하는 것과 관련이 있습니다.
해결 단계:
mb_strimwidth()를 사용하는 솔루션:
PHP는 멀티바이트 문자열 잘림을 처리할 수 있는 mb_strimwidth() 함수를 제공합니다. 그러나 이 함수는 단어 경계를 따르지 않습니다. 다음 코드 조각은 사용법을 보여줍니다.
public function truncate($string, $chars = 50, $terminator = ' …') { $maxChars = $chars - strlen($terminator); if (mb_strlen($string) <= $maxChars) { return $string; } $lastWhitespace = mb_strrpos(mb_substr($string, 0, $maxChars), ' '); if ($lastWhitespace !== false) { return mb_substr($string, 0, $lastWhitespace) . $terminator; } else { return mb_substr($string, 0, $maxChars) . $terminator; } }
위 내용은 단어 경계를 유지하면서 PHP에서 UTF-8 문자열을 안전하게 자르는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!