자른 문자열 뒤에 추가된 문자열(...과 같은 말줄임표)로 인해 원하는 길이보다 길어지는 경우를 방지한 한글자르기 함수입니다.
표에 쓰이면 적당합니다.
이상한 부분 있으면 말씀해 주세요.

// Mari's PHP function substrhan(string $string , int $length [, string $footer])
// $string : 입력문자열
// $length : 출력문자열길이
// $footer : 말줄임표문자열

function substrhan($str, $len, $footer='') {
if(strlen($str) <= $len) {
return $str;
}
else {
$len = $len - strlen($footer);
for($i=0; $i<$len; $i++) if(ord($str[$i])>127) $i++;
if($i > $len) $i-=2;
$str=substr($str,0,$i);
return $str.$footer;
}
}

// Examples
$text1 = '안녕하세요';
$text2 = '날씨가 너무 좋아요.';
$text3 = '난 널 사랑해.';

$text1 = substrhan($text1, 10, '..'); // returns "안녕하세요"
$text2 = substrhan($text2, 10, '..'); // returns "날씨가 .."
$text3 = substrhan($text3, 10, '..'); // returns "난 널 사.."                                       
2011/05/29 23:54 2011/05/29 23:54

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다