1.
<?
function LongCut($s, $l)
{
if( strlen($s) <= ($l+3))
return $s;
if( ord($s[$l-1]) > 127 ) { //ord -> ascii 체크. 127 초과면 한글
$nc = 2;
while( ord($s[$l-$nc]) > 127 ) $nc++;
$l -= !($nc & 1);
}
return substr($s, 0, $l) . "...";
}
?>
2.
<?
function han_cut($val,$cut_len){ //$val 자를 문자열, $cut_len 원하는 문자열길이
$tot_len = strlen($val);
$cut_str = substr($val,0,$cut_len);
$len = strlen($cut_str);
for($x=0;$x < $len;$x++){
if(ord($val[$x]) > 127) { $hanlen++; }
else{ $englen++; }
}
$cut_gap = $hanlen % 2;
if($cut_gap == 1){ $hanlen--; }
$length=$hanlen + $englen;
if($tot_len > $length){ return substr($val,0,$length)."..."; }
else{ return substr($val,0,$length); }
}
?>