UTF8 문자를 허용하는 입력 상자가 있습니다. 문자가 중국어, 일본어 또는 한국어로 프로그래밍 방식으로 (일부 유니 코드 범위의 일부인지) 감지 할 수 있습니까? MySQL의 전체 텍스트 검색이 작동하는지 여부에 따라 검색 방법을 변경합니다 (CJK 문자에는 작동하지 않음).PHP에서 CJK 문자를 감지합니다.
감사합니다.
UTF8 문자를 허용하는 입력 상자가 있습니다. 문자가 중국어, 일본어 또는 한국어로 프로그래밍 방식으로 (일부 유니 코드 범위의 일부인지) 감지 할 수 있습니까? MySQL의 전체 텍스트 검색이 작동하는지 여부에 따라 검색 방법을 변경합니다 (CJK 문자에는 작동하지 않음).PHP에서 CJK 문자를 감지합니다.
감사합니다.
CJK 문자는 특정 Unicode Blocks으로 제한됩니다. 이 블록 안에 있으면 문자를 확인해야하며 대리 문자 (32 비트 문자)도 고려해야합니다.
문자가 (중국어 또는 일본어 또는 한국어) 문자인지 여부를 감지 하시겠습니까? 아니면 한자와 일본어를 구분하고 싶습니까? 전자는 쉽다. 한 통일로 인해 후자가 불가능한 경우가 많다.
// is chinese, japanese or korean language
function isCjk($string) {
return isChinese($string) || isJapanese($string) || isKorean($string);
}
function isChinese($string) {
return preg_match("/\p{Han}+/u", $string);
}
function isJapanese($string) {
return preg_match('/[\x{4E00}-\x{9FBF}\x{3040}-\x{309F}\x{30A0}-\x{30FF}]/u', $string);
}
function isKorean($string) {
return preg_match('/[\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]/u', $string);
}
감사합니다. – ash