<?

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

+ Recent posts