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

정보공유

[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건 2 페이지
번호 제목 글쓴이 날짜 조회
59 db table 에 필드가 존재하는지 확인후 없으면 추가. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-21 33717
58 iconv 함수를 사용했는데 결과물이 공백으로 나올경우 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 08-26 33565
57 외부에서 자동로그인 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-27 32980
56 php 현재 페이지 주소 알아내기 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-21 32685
55 유니크 한 일련번호 생성하기. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-17 32676
54 주민번호로, 생년월일로 나이계산 함수 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 08-02 32609
53 get_magic_quotes_gpc 가 on 으로 되어있는경우 해결법. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-21 32304
52 정규식을 이용하여 날짜값 확인 방법 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-25 32147
51 즐겨쓰는 php db 연결문 (접속 - 해제) 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-24 32090
열람중 한글 초성 추출하기 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 03-30 31911
49 소켓으로 url 존재 여부 확인. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 05-30 31656
48 htaccess 를 활용하여 m 도메인으로 접속하기. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-11 31507
47 코드이그나이터 검색 기본 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 11-14 31301
46 파라미터 전달값 확인 방법. 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 04-25 31285
45 [코드이그나이터] 한사이트에 여러도메인 사용하기 위토즈쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-14 31046