<?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개
게시글 목록
| 번호 | 제목 |
|---|---|
| 16429 |
기타
html 색상표
1
|
| 16424 | |
| 16423 |
node.js
NODE_JS + Nunjucks 설정
|
| 16412 | |
| 16408 | |
| 16407 |
JavaScript
input text 에 여러 이벤트 걸기 두기.
1
|
| 16401 | |
| 16395 |
JavaScript
Javascript를 최적화하는 13가지 팁
4
|
| 16394 |
JavaScript
URL이 올바른지 체크
2
|
| 16391 |
JavaScript
IE, Edge 브라우저에서는 해당 사이트가 접속이 안되게 하는 코드
2
|
| 16390 |
JavaScript
구글 맵 독도 표기 되도록.
|
| 16389 | |
| 16387 | |
| 16386 |
JavaScript
js playground
|
| 16382 |
JavaScript
javascript에서 php를 호출하여 내용 변경하기
|
| 16381 | |
| 16377 | |
| 16374 | |
| 16372 | |
| 16356 |
기타
기시판 질문입니다.
6
|
| 16355 |
정규표현식
정규식 테스트 연습 편하게
2
|
| 16354 |
정규표현식
제목에 특수문자 정리하는 정규식
2
|
| 16353 | |
| 16347 | |
| 16346 | |
| 16339 | |
| 16338 |
jQuery
체크박스 시프트(shift) 멀티선택
|
| 16332 |
node.js
Node.js MongoDB Drop
1
|
| 16331 |
node.js
여러 데이터 삭제
1
|
| 16330 |
node.js
Node.js MongoDB 삭제
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기