본문 바로가기
웹프로그램

[PHP] 한글삭제 정규식

by 세이박스 2009. 2. 7.
반응형
 

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"한글과 영문,숫자만 입력할 수 있습니다";
}
?>
반응형