2009년 7월 28일 화요일

글자자르기

// 글자자르기
// cutstr("글내용", "글자수", "...") {
function cutstr($msg, $cut_size, $tail="...") {
 if ($cut_size<=0) return $msg;

 // 계속이어쓰는 문자열을 자른다.
 $max_len = 70;
 if(strlen($msg) > $max_len) {
  if(!eregi(" ", $msg)) {
   $msg = substr($msg,0,$max_len);
  }
 }

 for($i=0;$i<$cut_size;$i++) {
  if(@ord($msg[$i])>127) {
   $han++;
  } else {
   $eng++;
  }
 }

 $cut_size=$cut_size+(int)$han*0.6;

 $snow=1;
 for($i=0;$i<strlen($msg);$i++) {
  if ($snow>$cut_size) { return $snowtmp.$tail;}
  if (ord($msg[$i])<=127) {
   $snowtmp.= $msg[$i];
   if ($snow%$cut_size==0) { return $snowtmp.$tail; }
  } else {
   if ($snow%$cut_size==0) { return $snowtmp.$tail; }
   $snowtmp.=$msg[$i].$msg[++$i];
   $snow++;
  }
  $snow++;
 }
 return $snowtmp;
}

댓글 없음:

댓글 쓰기