비밀번호

  • 한글 영타로. 비혼 → qlghs

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

  • 작 성 자 : BiHonHomepage

  • 조 회 수 : 3114

  • 등 록 일 : 2014-02-14 13:11:07

  • 한글 풀어쓰기에서 배열 값을 '영어'로만 변경.


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

    function 조합풀기($s)
    {
        static $h = array(
            array(2=>'r','R','s','e','E','f','a','q','Q','t','T','d','w','W','c','z','x','v','g'),
            array(3=>'k','o','i','O','j','','','p','u','P','h','hk','ho','','','hl','y','n','nj','np','nl','','','b','m','ml','l'),
            array(2=>'r','R','rt','s','sw','sg','e','f','fr','fa','fq','ft','fx','fv','fg','a','','q','qt','t','T','d','w','c','z','x','v','g'),
            );
        $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년 새해 복 많이 받으세요!');
    ────────────────────────────────────────


    ▶ 실행 결과
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    2014sus togo qhr aksgdl qkedmtpdy!
    ────────────────────────────────────────


    * 반대는 나중에 기회되면….
  • 2016-12-10 23:50:21

  • BiHonHomepage

  • function han_split($m)
    {
        static $h = array(
            array(2=>'ㄱ','ㄲ','ㄴ','ㄷ','ㄸ','ㄹ','ㅁ','ㅂ','ㅃ','ㅅ','ㅆ'
                ,'ㅇ','ㅈ','ㅉ','ㅊ','ㅋ','ㅌ','ㅍ','ㅎ'),
            array(3=>'ㅏ','ㅐ','ㅑ','ㅒ','ㅓ',10=>'ㅔ','ㅕ','ㅖ','ㅗ','ㅘ','ㅙ'
                ,18=>'ㅚ','ㅛ','ㅜ','ㅝ','ㅞ','ㅟ',26=>'ㅠ','ㅡ','ㅢ','ㅣ'),
            array(2=>'ㄱ','ㄲ','ㄳ','ㄴ','ㄵ','ㄶ','ㄷ','ㄹ','ㄺ','ㄻ','ㄼ','ㄽ'
                ,'ㄾ','ㄿ','ㅀ','ㅁ','','ㅂ','ㅄ','ㅅ','ㅆ','ㅇ','ㅈ','ㅊ','ㅋ'
                ,'ㅌ','ㅍ','ㅎ'),
            );
        static $dic = array();
        $r = '';
        if ( isset($dic[$m[0]]) ) return $dic[$m[0]];
        $i = iconv('UTF-8','JOHAB//IGNORE',$m[0]);
        $s = sprintf('%08b%08b',ord($i[0]),ord($i[1]));
        $r.= isset($h[0][($p=bindec(substr($s,1,5)))])?$h[0][$p]:'';
        $r.= isset($h[1][($p=bindec(substr($s,6,5)))])?$h[1][$p]:'';
        $r.= isset($h[2][($p=bindec(substr($s,11,5)))])?$h[2][$p]:'';
        $dic[$m[0]] = $r;
        return $r;
    }
    echo preg_replace_callback('/[가-힣]/u','han_split','자음 모음 분리');
    // ㅈㅏㅇㅡㅁ ㅁㅗㅇㅡㅁ ㅂㅜㄴㄹㅣ

+ 이름

- 홈페이지

+ 내용

+ 비밀번호

* 4~20자

+ CAPTCHA

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

  • 번호

  • 제목

  • 이름

  • 등록일

  • 조회수