2011년 4월 3일 일요일

php 한글 자르기

function stringCut($str){
$length = 140;
while($length < strBytes($str)){
$str = mb_substr($str,0,mb_strlen($str, 'UTF-8')-1, 'utf-8');
}
return $str;
}
    function strBytes($str){
      $strlen_var = strlen($str);
      $d = 0;
      for ($c = 0; $c < $strlen_var; ++$c) {          
          $ord_var_c = ord($str{$d});          
          switch (true) {
              case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
                  $d++;
                  break;              
              case (($ord_var_c & 0xE0) == 0xC0):
                  $d+=2;
                  break;  
              case (($ord_var_c & 0xF0) == 0xE0):
                  $d+=3;
                  break;  
              case (($ord_var_c & 0xF8) == 0xF0):
                  $d+=4;
                  break;
 
              case (($ord_var_c & 0xFC) == 0xF8):
                  $d+=5;
                  break;
 
              case (($ord_var_c & 0xFE) == 0xFC):
                  $d+=6;
                  break;
              default:
                $d++;  
          }
      }    
      return $d;
    }

댓글 없음:

댓글 쓰기