문자열에서 모든 것을 제거하려고하지만 숫자 (0-9)입니다.
나는 이것이 효과가 있다고 생각했다.
echo preg_replace("[^0-9]","",'604-619-5135');
그러나 이것은 “604-619-5135″를 반영합니다. 내가 뭘 놓친거야 ???
답변
이 시도:
preg_replace('/[^0-9]/', '', '604-619-5135');
preg_replace는 일반적으로로 시작하고 끝나는 PCRE를 사용합니다 /
.
답변
이것은 미래의 개발자를위한 것이며, 시도해 볼 수도 있습니다. 너무 간단
echo preg_replace('/\D/', '', '604-619-5135');
답변
패턴을 구분 기호로 묶어야합니다. 일반적으로 슬래시 (/)가 사용됩니다. 이 시도:
echo preg_replace("/[^0-9]/","",'604-619-5135');
답변
정규식을 사용하지 않으려는 사람들에게 훨씬 실용적인 방법입니다.
$data = filter_var($data, FILTER_SANITIZE_NUMBER_INT);
참고 : 전화 번호에서도 작동합니다.