d

한글 초성 추출하기

· 2019-12-19 (목) 13:24:03 · 4321 · 10
<?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;
  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 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("안녕하세요");
|

댓글 10개

2019-12-25 (수) 08:16:14
오 감사합니다.
메리크리스마스
와우 초성퀴즈 게시판 제작 누군가 하셔야것네
감사합니다.
와 팁 감사합니다
2020-01-03 (금) 00:15:01
감사합니다.
멋진 팁 감사합니다.
새해 선물네요.
감사합니다.
좋은 팁 감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
MySQL 20-02-13 조회 3,486
기타 20-01-29 조회 2,629
PHP 20-01-26 조회 3,300
기타 20-01-19 조회 1만
웹서버 20-01-18 조회 3,779
기타 20-01-15 조회 2,627
PHP 20-01-12 조회 4,206
기타 20-01-12 조회 2,680
웹서버 20-01-07 조회 3,525
node.js 20-01-06 조회 2,811
PHP 19-12-19 조회 4,322
기타 19-12-05 조회 2,833
JavaScript 19-12-02 조회 3,095
웹서버 19-11-19 조회 4,935
JavaScript 19-11-05 조회 3,393
JavaScript 19-11-04 조회 2,543
JavaScript 19-11-01 조회 2,654
JavaScript 19-10-31 조회 2,679
PHP 19-10-29 조회 2,730
기타 19-10-26 조회 3,594
JavaScript
[JavaScript]
19-10-17 조회 2,685
JavaScript 19-09-25 조회 2,915
jQuery 19-09-24 조회 2,680
PHP 19-09-23 조회 3,399
기타 19-09-08 조회 3,222
PHP 19-09-03 조회 5,392
기타 19-08-10 조회 2,719
정규표현식 19-08-08 조회 2,971
정규표현식 19-08-05 조회 3,328
웹서버 19-08-05 조회 4,820