1년 2개월 전에 깃허브에 올려둔 자료입니다.
의외로 필요한 분들이 많을까 올려드립니다.
원본 코드(js판) 출처는 명신님의 블로그(IT 소시민의 소소한 이야기) - http://dream.ahboom.net/entry/%ED%95%9C%EA%B8%80-%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C-%EC%9E%90%EC%86%8C-%EB%B6%84%EB%A6%AC-%EB%B0%A9%EB%B2%95 입니다.
js의 charCodeAt를 PHP에서 사용하기 위해 참고한 소스코드는 다음 출처에 있습니다.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<?php
/* 자바스크립트 한글 자모 분리를 PHP에서.
// http://dream.ahboom.net/entry/%ED%95%9C%EA%B8%80-%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C-%EC%9E%90%EC%86%8C-%EB%B6%84%EB%A6%AC-%EB%B0%A9%EB%B2%95
*/
$jaum = array('ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ');
$moum = array('ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ', 'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ', 'ㅣ');
$bachim = array('', 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ', 'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ', 'ㅁ', 'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅌ', 'ㅍ', 'ㅎ');
/* // 테스트용 문자열
*/
$munja = "맑";
/* // 한글 이외 다른 문자 제거
*/
$munja = preg_replace('[^가-힣]', '', $munja);
/*
// 자바스크립트의 charCodeAt 구현 코드.
// https://stackoverflow.com/questions/40841149/js-charcodeat-equivalent-in-php-with-full-unicode-and-emoji-compatibility/40867438#40867438
*/
function JS_charCodeAt($str, $index) {
$utf16 = mb_convert_encoding($str, 'UTF-16LE', 'UTF-8');
return ord($utf16[$index*2]) + (ord($utf16[$index*2+1]) << 8);
}
$munjaCode = JS_charCodeAt($munja, 0);
/*
// 0xAC00 => 한글 첫 글자인 '가'
*/
$munjaBeonho = $munjaCode - 0xAC00;
$jong = $munjaBeonho % 28;
$jung = (($munjaBeonho - $jong) / 28) % 21;
$cho = ((($munjaBeonho - $jong) / 28) - $jung) / 21;
echo "Cho = {$jaum[$cho]}".PHP_EOL;
echo "Jung = {$moum[$jung]}".PHP_EOL;
echo "Jong = {$bachim[$jong]}".PHP_EOL;
|
cs |
$munja 부분에 원하는 단어를 넣으시면 됩니다.
예시) 강아지 => ㄱㅏㅇㅇㅏㅈㅣ
댓글 3개
게시글 목록
| 번호 | 제목 |
|---|---|
| 17591 |
node.js
노드로 멀티스레드 기능 구현하기
2
|
| 17590 | |
| 17589 |
PHP
PHP로 인쇄명령주기
1
|
| 17588 |
JavaScript
Javascript로 JSON데이터를 보기좋게 만들기
|
| 17587 | |
| 17584 | |
| 17583 |
MySQL
MySQL과 PostgreSQL의 우단점
|
| 17582 |
MySQL
프로시저 cursor 사용 예
|
| 17581 |
JavaScript
바닐라 ajax 파일업로드 예제
|
| 17579 | |
| 17577 | |
| 17575 | |
| 17574 | |
| 17573 | |
| 17572 | |
| 17569 | |
| 17564 | |
| 17560 | |
| 17559 |
MySQL
프로시저 기본편
|
| 17555 | |
| 17554 | |
| 17553 | |
| 17552 | |
| 17549 | |
| 17548 | |
| 17547 | |
| 17542 | |
| 17533 | |
| 17531 | |
| 17524 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기