위토즈 - 개발자프로그램판매공간

정보공유

[PHP] 한글 초성 추출하기

 

 

<?php

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;

&nbsp; if ($h <= 0xDF && $len>1) return ($h & 0x1F) << &nbsp;6 | (ord($ch{1}) & 0x3F);

  if ($h <= 0xEF && $len>2) return ($h & 0x0F) << 12 | (ord($ch{1}) & 0x3F) << 6 | (ord($ch{2}) & 0x3F);          

&nbsp; 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 cho_hangul($str) {

  $cho = 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;      

      $result .= $cho[$cho_idx];

    }

  }

  return $result;

}

 

echo cho_hangul("안녕하세요");

정보공유
Total 74건 1 페이지
번호 제목 글쓴이 날짜 조회
74 prepare bind_param 쿼리구분 select * 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 08-14 1522
73 stmt 등록 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 06-14 1876
72 prepare 함수 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-16 1885
71 [sprintf 함수] 결과값 처리 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-09 3519
70 php json_encode 옵션 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 08-09 3829
69 도메인주소 매칭 확인 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-21 5037
68 Proxy 서버나 로드밸런서 등에서는 HTTPS 접속시 HTTP_X_FORWARDED_PROTO 로 체크해야 하는 경우 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-21 5067
67 날짜 구하기 계산식. 1월 31일은 3월3일로 계산되는 문제 해결. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-03 5187
66 휴대폰 번호 여부 체크 확인 함수 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 10-21 6512
65 문자 내용이 euc-kr 인지 체크 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 08-01 7778
64 HTTP_X_REQUESTED_WITH 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-29 11243
63 요일 처리 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-22 10875
62 다차원 배열 정렬 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-14 12005
61 원격지 이미지 파일 저장하고 이미지 파일 아닌경우 삭제 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-12 11732
60 정규식 제거 및 특정 태그 제거 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 09-02 15575