$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;
}
댓글 1개
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 한글임
게시판 목록
팁게시판
질문은 상단의 QA에서 해주시기 바랍니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 5702 |
잘살아보자
|
10년 전 | 432 | |
| 5701 |
잘살아보자
|
10년 전 | 775 | |
| 5700 |
잘살아보자
|
10년 전 | 512 | |
| 5699 |
잘살아보자
|
10년 전 | 431 | |
| 5698 |
잘살아보자
|
10년 전 | 486 | |
| 5697 |
잘살아보자
|
10년 전 | 430 | |
| 5696 |
잘살아보자
|
10년 전 | 459 | |
| 5695 |
잘살아보자
|
10년 전 | 400 | |
| 5694 |
|
10년 전 | 2285 | |
| 5693 |
잘살아보자
|
10년 전 | 618 | |
| 5692 |
잘살아보자
|
10년 전 | 355 | |
| 5691 |
잘살아보자
|
10년 전 | 399 | |
| 5690 |
잘살아보자
|
10년 전 | 428 | |
| 5689 | 10년 전 | 1960 | ||
| 5688 |
|
10년 전 | 1114 | |
| 5687 | 10년 전 | 962 | ||
| 5686 |
|
10년 전 | 1894 | |
| 5685 |
|
10년 전 | 1170 | |
| 5684 | 10년 전 | 925 | ||
| 5683 | 10년 전 | 783 | ||
| 5682 | 10년 전 | 609 | ||
| 5681 | 10년 전 | 1189 | ||
| 5680 | 10년 전 | 929 | ||
| 5679 | 10년 전 | 1402 | ||
| 5678 |
네이비칼라
|
10년 전 | 859 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기