[정보] 한글 문자열 자르기 PHP 함수
2023년 02월 14일에 작성된 포스트입니다.
PHP에서 한글 문자열 자르기는 여러 가지 이유로 생각보다 잘 안되는 경우가 많다. 아래 함수가 지금까지 사용한 것 중 가장 완벽한 함수이다.
- 여기까지 왔다면 한글 문자열 자르기 함수의 다양한 고민에 대해 잘 알고 있을 것이다. 또한 더 좋은 것이 있다면 댓글로 답변을 해줄 것이라 굳게 믿는다.
- 모두 chatGPT가 만들어준 함수이다.(함수 이름만 제외)
[1] PHP 한글 문자열 자르기 함수
function cut_korean_string($str, $length) {
if (mb_strlen($str, 'utf-8') > $length) {
$str = mb_substr($str, 0, $length, 'utf-8');
$str .= '...';
}
return $str;
}
[2] 자른 문자열의 마지막 문자가 2바이트인 경우 한글 문자열이 깨지지 않는 처리가 추가된 함수

function cut_korean_string($str, $len, $suffix='...') {
$str = filter_var(trim($str), FILTER_SANITIZE_STRING);
$encoding = 'UTF-8'; // 한글 문자열은 대부분 UTF-8로 인코딩됩니다.
$str_len = mb_strlen($str, $encoding);
if ($str_len <= $len) {
return $str;
} else {
$cut_str = mb_substr($str, 0, $len, $encoding);
// 자른 문자열의 마지막 문자가 2바이트 문자인 경우 한글 문자열이 깨지지 않도록 처리합니다.
if (mb_strlen($cut_str, $encoding) < $str_len) {
$last_char = mb_substr($str, $len - 1, 1, $encoding);
if (mb_strlen($last_char, $encoding) === 2) { //===은 처음 본다.
$cut_str = mb_substr($cut_str, 0, $len - 1, $encoding);
}
}
return $cut_str . $suffix;
}
}
현식로그 홈
기타(ETC) 목록
Copyright © HS LOG
No Comments
Published on 2월 14, 2023
방문해 주셔서 감사합니다. 답글을 남겨주시면 잊지 못할 것입니다.
현식로그 홈
기타(ETC) 목록
이 글의 방문자수는 122 입니다. (젯팩이 측정)

