[정보] 한글 문자열 자르기 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 입니다. (젯팩이 측정)