[PHP] 한글 포함된 문자열 자르기 함수 > Board Tip

본문 바로가기
 

[PHP] 한글 포함된 문자열 자르기 함수

페이지 정보

작성자 휴먼 댓글 0건 조회 13,734회 작성일 09-06-04 14:38

본문

<?
function Shorten_String($String, $MaxLen, $ShortenStr) {
/*
2 바이트 문자를 깨끗하게 잘라주는 함수
인자로는 자를 문자열($String), 최대 길이($MaxLen),
말줄임표(보통 ... 을 사용)($ShortenStr)를 받는다.
원리는 문자열의 처음부터시작하여 이것이 2바이트문자이면(127보다크면)
자를 문자열의 길이를 2를 증가시키고 그렇지않으면 1을 증가시킨다.
이렇게 하여 마지막에 원래의 문자열에서 자를 문자열의 길이만큼을
시작점(0)에서 잘라주면 된다.
*/
$StringLen = strlen($String); // 원래 문자열의 길이를 구함
$EffectLen = $MaxLen - strlen($ShortenStr);
// 최대문자열의 길이에서 말줄임표문자열의 길이를 뺀다
if ( $StringLen < $MaxLen )return $String;
// 원래문자열의 길이가 최대문자열의 길이보다 작으면 그냥 리턴한다.
for ($i = 0; $i <= $EffectLen; $i++) {
$LastStr = substr($String, $i, 1);
if ( ord($LastStr) > 127 ) $i++;
// 2바이트문자라고 생각되면 $i를 1을 더 증가시켜
// 결국은 2가 증가하게 된다.
// 다음에 오는 1바이트는 당연 지금 바이트의 문자에 귀속되는 문자이다.
}
$RetStr = substr($String, 0, $i);
// 위에서 구한 문자열의 길이만큼으로 자른다.
return $RetStr .= $ShortenStr;
// 여기에 말줄임문자를 붙여서 리턴해준다.
}
 
$str=Shorten_String($str,16,'...'); 

?>

댓글목록

등록된 댓글이 없습니다.

Total 59건 1 페이지
Board Tip 목록
번호 제목 글쓴이 조회 날짜
59 휴먼 22211 06-11
58 휴먼 22113 02-21
57 휴먼 20147 11-25
56 휴먼 19199 05-16
55 휴먼 17867 05-05
54 휴먼 17433 06-11
53 휴먼 16910 01-27
52 휴먼 16040 12-18
51 휴먼 15371 11-24
50 휴먼 15348 05-02
49 휴먼 15280 05-05
48 휴먼 14345 03-02
47 휴먼 14298 08-21
46 휴먼 14052 03-02
45 휴먼 13787 11-24
열람중 휴먼 13735 06-04
43 휴먼 13492 05-29
42 휴먼 12983 12-24
게시물 검색