깨진 한글 체크

by 조쉬 posted Dec 23, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

<?php
function is_regular_string($cstring)
{
    $slen = strlen($cstring);

    for($i=0;$i<$slen;$i++) 
    {
      // 1byte 문자 
      if(ord($cstring[$i])<=127) 
      {
          $i++;
      }
      // 2byte 문자             
      else if(ord($cstring[$i])>=hexdec('80')) 
      {
        if (isset($cstring{$i+1}) && $cstring{$i+1} != '' ) 
        {                    
           if(((ord($cstring{$i})>=hexdec('B0') && ord($cstring{$i+1})>=hexdec('A1')) && (ord($cstring{$i})<=hexdec('C8') && ord($cstring{$i+1})<=hexdec('FE'))) || ((ord($cstring{$i})>=hexdec('81') && ord($cstring{$i+1})>=hexdec('41')) && (ord($cstring{$i})<=hexdec('A0') && ord($cstring{$i+1})<=hexdec('FE'))) || ((ord($cstring{$i})>=hexdec('A1') && ord($cstring{$i+1})>=hexdec('41')) && (ord($cstring{$i})<=hexdec('C6') && ord($cstring{$i+1})<=hexdec('A0'))) || ((ord($cstring{$i})>=hexdec('A4') && ord($cstring{$i+1})>=hexdec('A1')) && (ord($cstring{$i})<=hexdec('A4') && ord($cstring{$i+1})<=hexdec('FE'))))
            {
            $i++;
            }
           else 
            {
             return false;
            }                
        }
      }
      else
      {
        return false;
      }
    }
    return true;
}
?>