|
|
|
[PHP] 한글, 영어, 일어, 한자, 숫자 구분 방법
작업환경 : EUC-KR
EUC-KR 문자열을 UTF-8 로 변환하고 나서
유니코드 문자표에 있는 범위와 매치되는 문자열을 가져옵니다.
매치되는 문자열이 있으면 해당 문자 타입이 됩니다.
-
$utf8_string = iconv("EUC-KR", "UTF-8", $euckr_string); // UTF-8 환경에선 이 과정이 필요 없겠죠..?
-
- $string_type = "";
- if (preg_match_all('!['.'x{0030}-x{0039}'.']+!u', $utf8_string, $match))
- {
- $string_type = "숫자";
- }
- if (preg_match_all('!['.'x{0061}-x{007a}|x{0041}-x{005a}'.']+!u', $utf8_string, $match))
- {
- $string_type = "영어";
- }
- if (preg_match_all('!['.'x{1100}-x{11ff}x{3130}-x{318f}x{ac00}-x{d7af}'.']+!u', $utf8_string, $match))
- {
- $string_type = "한글";
- }
- if (preg_match_all('!['.'x{2E80}-x{2EFF}'.'x{31C0}-x{31EF}x{3200}-x{32FF}'.'x{3400}-x{4DBF}x{4E00}-x{9FBF}x{F900}-x{FAFF}'.'x{20000}-x{2A6DF}x{2F800}-x{2FA1F}'.']+!u', $utf8_string, $match))
- {
- $string_type = "한자";
- }
- if (preg_match_all('!['.'x{2E80}-x{2EFF}'.'x{31C0}-x{31EF}x{3200}-x{32FF}'.'x{3400}-x{4DBF}x{4E00}-x{9FBF}x{F900}-x{FAFF}'.'x{20000}-x{2A6DF}x{2F800}-x{2FA1F}'.']+!u', $utf8_string, $match))
- {
- $string_type .= "일어";
- }
|
|
|
|
|
|
|
|
|
|
공유하기
|
공유하기
|
|
|
|
|
|
|