[함수] 한글자르기 (출력길이기준)

2011. 7. 17. 08:55컴퓨터_computer/PHP, HTML

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

// 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 "난 널 사.."