한글을 자음 모음까지 분리하는 방법이 있나요?

한글을 자음 모음까지 분리하는 방법이 있나요?

QA

한글을 자음 모음까지 분리하는 방법이 있나요?

본문

제목 그대로 자음 모음까지 분리하는 방법이 있을까요??

 

끝말잇기를 만들고 있는데 두음법칙을 적용시키려고하니 분리시켜야 될거 같아서요..

 

고딩때 국어를 못해서 다시 두음법칙을 공부중입니다 ㅠ

이 질문에 댓글 쓰기 :

답변 1

 

초, 중, 종성을 분리

 


function utf8_strlen($str) { return mb_strlen($str, 'UTF-8'); }
function utf8_charAt($str, $num) { return mb_substr($str, $num, 1, 'UTF-8'); }
function utf8_ord($ch) {
  $len = strlen($ch);
  if($len <= 0) return false;
  $h = ord($ch{0});
  if ($h <= 0x7F) return $h;
  if ($h < 0xC2) return false;
  if ($h <= 0xDF && $len>1) return ($h & 0x1F) <<  6 | (ord($ch{1}) & 0x3F);
  if ($h <= 0xEF && $len>2) return ($h & 0x0F) << 12 | (ord($ch{1}) & 0x3F) << 6 | (ord($ch{2}) & 0x3F);          
  if ($h <= 0xF4 && $len>3) return ($h & 0x0F) << 18 | (ord($ch{1}) & 0x3F) << 12 | (ord($ch{2}) & 0x3F) << 6 | (ord($ch{3}) & 0x3F);
  return false;
}
function hangul_separa($str) {
  $cho = array("ㄱ","ㄲ","ㄴ","ㄷ","ㄸ","ㄹ","ㅁ","ㅂ","ㅃ","ㅅ","ㅆ","ㅇ","ㅈ","ㅉ","ㅊ","ㅋ","ㅌ","ㅍ","ㅎ"); // 초성
  $jung = array("ㅏ","ㅐ","ㅑ","ㅒ","ㅓ","ㅔ","ㅕ","ㅖ","ㅗ","ㅘ","ㅙ","ㅚ","ㅛ","ㅜ","ㅝ","ㅞ","ㅟ","ㅠ","ㅡ","ㅢ","ㅣ"); // 중성
  $jong = array("","ㄱ","ㄲ","ㄳ","ㄴ","ㄵ","ㄶ","ㄷ","ㄹ","ㄺ","ㄻ","ㄼ","ㄽ","ㄾ","ㄿ","ㅀ","ㅁ","ㅂ","ㅄ","ㅅ","ㅆ","ㅇ","ㅈ","ㅊ","ㅋ"," ㅌ","ㅍ","ㅎ"); // 종성
  $result = "";
  for ($i=0; $i<utf8_strlen($str); $i++) {
    $code = utf8_ord(utf8_charAt($str, $i)) - 44032;
    if ($code > -1 && $code < 11172) {        
      $cho_idx = $code / 588;      
      $jung_idx = $code % 588 / 28;  
      $jong_idx = $code % 28;
      $result .= $cho[$cho_idx].$jung[$jung_idx].$jong[$jong_idx];
    } else {
       $result .= utf8_charAt($str, $i);
    }
  }
  return $result;
}
echo hangul_separa("초성 중성 종성 분리");
// => ㅊㅗㅅㅓㅇ ㅈㅜㅇㅅㅓㅇ ㅈㅗㅇㅅㅓㅇ ㅂㅜㄴㄹㅣ
 

답변을 작성하시기 전에 로그인 해주세요.
전체 62
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT