[정보] 한글 문자열 자르기 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
Published on 2월 14, 2023 Filed under: ETC; Tagged as: , , , , ,

No Comments

방문해 주셔서 감사합니다. 답글을 남겨주시면 잊지 못할 것입니다.

현식로그 홈 기타(ETC) 목록

 
이 글의 방문자수는 122 입니다. (젯팩이 측정)