한글, 중국어, 일본어 삭제(replace)하는 방법입니다.
//예제
$content = "한글 中国 カタカナ 1!2@3#";
// 삭제하기>>>>>>>>>>>>>>>>>>>>>>
// 한글 삭제
$pattern = '!['
.'\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}'
.']+!u';
echo "한글 삭제 : ".preg_replace($pattern, '', $content);
// 한자 삭제
$pattern = '!['
.'\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';
echo "<br>한자 삭제 : ".preg_replace($pattern, '', $content);
// 일본어 삭제
$pattern = '!['
.'\x{3040}-\x{309F}'// 히라가나
.'\x{30A0}-\x{30FF}'// 가타카나
.'\x{31F0}-\x{31FF}'// 가타카나 음성 확장
.']+!u';
echo "<br>일본어 삭제 : ".preg_replace($pattern, '', $content);
// 한글제외 삭제
$pattern = '!['
.'\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}'// 한,중,일 호환한자
.'\x{3040}-\x{309F}'// 히라가나
.'\x{30A0}-\x{30FF}'// 가타카나
.'\x{31F0}-\x{31FF}'// 가타카나 음성 확장
.']+!u';
echo "<br>한글제외 삭제 : ".preg_replace($pattern, '', $content);
//찾기>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
echo "<pre>";
// 한글 찾기
$pattern = '!['
.'\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}'
.']+!u';
preg_match_all($pattern, $content, $matches);
print_r($matches);
// 한자 찾기
$pattern = '!['
.'\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';
preg_match_all($pattern, $content, $matches);
print_r($matches);
// 일본어 찾기
$pattern = '!['
.'\x{3040}-\x{309F}'// 히라가나
.'\x{30A0}-\x{30FF}'// 가타카나
.'\x{31F0}-\x{31FF}'// 가타카나 음성 확장
.']+!u';
preg_match_all($pattern, $content, $matches);
print_r($matches);
echo "</pre>";