본문
2013/04/26 13:29
http://blog.naver.com/mylovejam/100186746366
function ptrtxt($str)
{
preg_match_all('!['
.'\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}'
.'\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}'// 한,중,일 호환한자
.'a-zA-Z'
.'\x{3040}-\x{309F}'// 히라가나
.'\x{30A0}-\x{30FF}'// 가타카나
.'\x{31F0}-\x{31FF}'// 가타카나 음성 확장
.'\s'
.']+!u', $str, $match);
return implode('',$match[0]);
}
$content = "【CD】Juniel(ジュニエル) - Fall In L";
echo ptrtxt($content);
결과 CDJunielジュニエル Fall In L
=========================================================================================================
\x{1100}-\x{11FF} // 한글 자모 (Hangul Jamo)
\x{3130}-\x{318F} // 호환용 한글 자모 (Hangul Compatibility Jamo)
\x{AC00}-\x{D7AF} // 한글 소리 마디 (Hangul Syllables)
if ( preg_match('/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+/u',$변수) ) exit('한글이 포함됨');
=========================================================================================================
문자열이 utf-8로 인코딩되어있다고 가정합니다. 따라서 utf-8을 사용하고 있지 않다면 이 함수를 사용하기 전에 iconv 등을 이용해서 인코딩을 utf-8로 변경해주셔야 합니다.
function onlyHanAlpha($subject) {
$pattern = '/([\xEA-\xED][\x80-\xBF]{2}|[a-zA-Z])+/';
preg_match_all($pattern, $subject, $match);
return implode('', $match[0]);
}
$subject = '한글입니다.옆은 일본어日本最大級일본최대급?!@#!asdf91237 ad한글%#@$하하하^%&({}as23寒한문';
echo $subject;
echo "\n";
echo onlyHanAlpha($subject);
=========================================================================================================
유니코드 특수 문자제거
http://jrgraphix.net/r/Unicode/1720-173F
유니코드에서 Geometric Shapes 와 Miscellaneous Symbols만 막으면 되겠네요
코드는 25A0-25FF 2600-26FF까지
preg_replace('/[\25a0-\25ff][\2600-\26ff\]/', '', $str);
=========================================================================================================
$alphabet = 'A-Za-z';
$hangul_jamo = '\x{1100}-\x{11ff}';
$hangul_compatibility_jamo = '\x{3130}-\x{318f}';
$hangul_syllables = '\x{ac00}-\x{d7af}';
$cnt = preg_match_all('/['.$alphabet.$hangul_jamo.$hangul_compatibility_jamo.$hangul_syllables.']+/u', $utf8text, $matches);
print_r($matches);
[출처] 정규식 특수문자 |작성자 구지
관련링크
댓글목록
등록된 댓글이 없습니다.