비밀번호

  • 한글 풀어쓰기. 비혼 → ㅂㅣㅎㅗㄴ

  • 짧은주소 : http://dreamphp.com/s/a0dw

  • 작 성 자 : BiHonHomepage

  • 조 회 수 : 3773

  • 등 록 일 : 2014-02-14 12:59:29

  • 그냥 옛날 생각에 간단하게….


    ▶ UTF-8 기준입니다.
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    <?php

    function 조합풀기($s)
    {
        static $h = array(
            array(2=>'ㄱ','ㄲ','ㄴ','ㄷ','ㄸ','ㄹ','ㅁ','ㅂ','ㅃ','ㅅ','ㅆ','ㅇ','ㅈ','ㅉ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ'),
            array(3=>'ㅏ','ㅐ','ㅑ','ㅒ','ㅓ','','','ㅔ','ㅕ','ㅖ','ㅗ','ㅘ','ㅙ','','','ㅚ','ㅛ','ㅜ','ㅝ','ㅞ','ㅟ','','','ㅠ','ㅡ','ㅢ','ㅣ'),
            array(2=>'ㄱ','ㄲ','ㄳ','ㄴ','ㄵ','ㄶ','ㄷ','ㄹ','ㄺ','ㄻ','ㄼ','ㄽ','ㄾ','ㄿ','ㅀ','ㅁ','','ㅂ','ㅄ','ㅅ','ㅆ','ㅇ','ㅈ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ'),
            );
        $s = iconv('UTF-8','JOHAB//IGNORE',$s[0]);
        for($i=0,$l=strlen($s),$r='';$i<$l;$i+=2)
        {
            $t = sprintf('%08b%08b',ord($s[$i]),ord($s[$i+1]));
            for($j=1,$k=0;$j<16;$j+=5,$k++) $r.= $h[$k][bindec(substr($t,$j,5))];
        }
        return $r;
    }
    function 풀어쓰기($s) { return preg_replace_callback('/[가-힣]+/u','조합풀기',$s); }

    echo 풀어쓰기('2014년 새해 복 많이 받으세요!');
    ────────────────────────────────────────


    ▶ 실행 결과
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    2014ㄴㅕㄴ ㅅㅐㅎㅐ ㅂㅗㄱ ㅁㅏㄶㅇㅣ ㅂㅏㄷㅇㅡㅅㅔㅇㅛ!
    ────────────────────────────────────────

+ 이름

- 홈페이지

+ 내용

+ 비밀번호

* 4~20자

+ CAPTCHA

CAPTCHA Image [새로고침] (대소문자 무시)

  • 번호

  • 제목

  • 이름

  • 등록일

  • 조회수