웹프로그램
[PHP] 한글삭제 정규식
세이박스
2009. 2. 7. 09:55
반응형
1. 영문자를 제외한 모든 문자를 null로 치환
preg_replace("/[^A-Za-z]/", "", $a);
결과 : "testtest"
2. 영문자와 공백문자(Space)를 제외한 모든 문자를 null로 치환
preg_replace("/[^A-Za-z|\x20]/", "", $a);
결과 : " test test"
3. ASCII 범주 코드 영문+특수문자를 제외한 모든 문자를 null로 치환
preg_replace("/[^\x20-\x7e]/", "", $a);
결과 : " test. test ??"
4. 한글만 빼경우는 한글의 모든 코드 범주를 대응해줘야 합니다.
http://www.php.net/manual/kr/function.ord.php 를 참고.
<?
$a="test 테스트 1234 ???";
for ($i=0; $i<strlen($a); $i++) {
$char_ord = ord($a[$i]);
if ($char_ord >= 65 && $char_ord <= 122) echo $a[$i];
}
?>
또는 다음과 같이
<?
$str = "abcd 한글 1234";
if(preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $str)) {
echo"한글있다";
} else {
echo"한글없다";
}
?>
정규식으로 한글의 범위는 \xa1-\xfe 로 표현하시면 됩니다.
<?
if(!ereg("^[\xa1-\xfe0-9a-zA-Z]+$",$name)) {
echo"한글과 영문,숫자만 입력할 수 있습니다";
}
?>
반응형