2009-06-17 4 views
1

문자, 숫자, 큰 따옴표 및 하이픈을 제외한 모든 문자를 제거하는 좋은 방법은 무엇입니까? 이것이 내가 지금까지 얻은 것입니다.PHP RegExp 특정 문자

$test = preg_replace('#[^a-zA-Z0-9"-]#',' ',$string); 

의견이 있으십니까?

고마워요.

+2

귀하의 접근 방식은 괜찮 꽤 표준 그래서 모든 개발자가 이해할 : 여기

$test = preg_replace('#[^a-z\d\w"-]#i','',$string); 

는 PHP 정규식 구문 참조입니다. –

+1

이미 갖고있는 솔루션을 사용하고 싶지 않은 이유가 있습니까? –

+0

은 어떤 이유로 인해 가능한 실수가 있는지 궁금해하고있었습니다. 고마워요. 어쨌든 –

답변

3

당신의 정규식은 당신이 찾는 것과 같은 좋은 해결책입니다.

2

자릿수를 일치 시키려면 \ d를 사용하고 대/소문자를 구분하지 않으려면 플래그 i를 사용하십시오. http://se.php.net/manual/en/regexp.reference.php

+0

내가 틀렸다면 정정 해주세요. 그러나 \ w도 숫자와 일치하지 않습니까? –

+0

\ w가 밑줄과 일치하므로 잘못되었습니다. –