리자

UTF-8 한글 TEST

$str = "한글 abc 123 사랑합니다.";

$str = preg_replace("#\r|\n#", " ", trim($str));
$len = strlen($str);

$i = 0;
$k = 0;
while ($i < $len) {
    if (preg_match('/^[\x20]/xs', $str)) {
        echo $str[0];
        $n = 1;
    }
    else if (preg_match('/^[\x30-\x39\x41-\x5a\x61-\x7a]/xs', $str)) {
        echo $str[0];
        $n = 1;
    }
    else if (preg_match('/^[\xc0-\\xdf][\x80-\xbf]/xs', $str)) {
        echo $str[0].$str[1];
        $n = 2;
    }
    else if (preg_match('/^[\xe0-\\xef][\x80-\xbf]{2}/xs', $str)) {
        echo $str[0].$str[1].$str[2];
        $n = 3;
    }
    else if (preg_match('/^[\xf0-\\xf7][\x80-\xbf]{3}/xs', $str)) {
        echo $str[0].$str[1].$str[2].$str[3];
        $n = 4;
    }
    else {
        $n = 1;
    }

    $str = substr($str, $n);
    $i += $n;

    //echo $i; echo "<br>";

    if ($k++ > 10000) break;
}

[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
|

댓글 1개

http://kr.php.net/manual/en/function.utf8-encode.php

bytes bits representation
1 7 0bbbbbbb
2 11 110bbbbb 10bbbbbb
3 16 1110bbbb 10bbbbbb 10bbbbbb
4 21 11110bbb 10bbbbbb 10bbbbbb 10bbbbbb

예를 들어 3바이트(한글 포함) UTF-8 의 경우

E0-EF 에 포함되고 뒤 이은 2바이트가 80-BF 에 포함되면 UTF-8 한글임
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
15년 전 조회 979
15년 전 조회 1,414
15년 전 조회 956
15년 전 조회 3,199
15년 전 조회 1,540
15년 전 조회 1,544
15년 전 조회 1,572
15년 전 조회 1,631
15년 전 조회 1,218
15년 전 조회 1,981
15년 전 조회 1,527
15년 전 조회 1,103
15년 전 조회 2,986
15년 전 조회 1,339
15년 전 조회 1,549
15년 전 조회 1,328
15년 전 조회 2,188
15년 전 조회 2,211
15년 전 조회 1,851
15년 전 조회 1,216
15년 전 조회 1,466
15년 전 조회 1,129
15년 전 조회 1,098
15년 전 조회 1,340
15년 전 조회 2,718
15년 전 조회 2,743
15년 전 조회 1,719
15년 전 조회 1,244
15년 전 조회 1,407
15년 전 조회 1,397
15년 전 조회 1,298
15년 전 조회 1,160
15년 전 조회 1,103
15년 전 조회 1,456
15년 전 조회 1,407
15년 전 조회 1,177
15년 전 조회 1,135
15년 전 조회 1,313
15년 전 조회 1,787
15년 전 조회 1,315
15년 전 조회 1,629
15년 전 조회 1,461
15년 전 조회 2,191
15년 전 조회 3,211
15년 전 조회 2,555
15년 전 조회 1,135
15년 전 조회 2,141
15년 전 조회 2,350
15년 전 조회 1,646
15년 전 조회 1,603
15년 전 조회 2,886
15년 전 조회 2,796
15년 전 조회 5,792
15년 전 조회 1,732
15년 전 조회 4,519
15년 전 조회 1,623
15년 전 조회 1,891
15년 전 조회 1,880
15년 전 조회 1,866
15년 전 조회 1,360
15년 전 조회 1,610
15년 전 조회 1,754
15년 전 조회 1,658
15년 전 조회 2,364
15년 전 조회 1,531
15년 전 조회 1,645
15년 전 조회 1,130
15년 전 조회 1,226
15년 전 조회 1,221
15년 전 조회 1,176
15년 전 조회 1,108
15년 전 조회 1,163
15년 전 조회 1,313
15년 전 조회 1,348
15년 전 조회 2,866
15년 전 조회 1,175
15년 전 조회 1,844
15년 전 조회 1,722
15년 전 조회 1,836
15년 전 조회 1,540
15년 전 조회 2,038
15년 전 조회 850
15년 전 조회 1,316
15년 전 조회 1,300
15년 전 조회 3,072
15년 전 조회 3,454
15년 전 조회 2,125
15년 전 조회 1,582
15년 전 조회 2,208
15년 전 조회 1,696
15년 전 조회 1,319
15년 전 조회 4,003
15년 전 조회 1,659
15년 전 조회 1,747
15년 전 조회 3,022
15년 전 조회 1,710
15년 전 조회 4,402
15년 전 조회 2,602
15년 전 조회 3,377
15년 전 조회 2,012