<?
function hanCut ($str, $cut, $fix='...') {
if (!$str || strlen($str)<=$cut*2) return $str;
$han = $eng=0;
for($i=0;$i<$cut*2;$i++) {
if(ord($str[$i])>127) $han++;
else $eng++;
}
$cut = $han+$eng+(int)$eng*0.23;
if (strlen($str)<=$cut) return $str;
return preg_replace("/(([\x80-\xff].)*)[\x80-\xff]?$/", "\\1", substr($str,0,$cut)).$fix;
}
$subject = "테스트 입니다"; // 디비 저장된글로 변경
$subject = hanCut($subject,10); //함수 호출 3글자만 자르고 ... 표시
echo $subject; // 출력 : 테스트...
?>
http://kr.php.net/manual/en/function.mb-strimwidth.php
출처 : http://blog.naver.com/kpetera?Redirect=Log&logNo=70134163391
'progarm_old > [PHP]' 카테고리의 다른 글
[PHP] $_SERVER[] 값 서버함수 (0) | 2013.07.10 |
---|---|
[php] str_replace 치환 (0) | 2013.02.25 |
[php]Can't use function return value in write context in (0) | 2013.01.24 |
[php] class 사용 (0) | 2012.11.15 |
mysql_insert_id()란? (0) | 2012.08.28 |