2010-12-05 3 views
6

문자열을 가져 와서 0-9와 - (대시)를 제외한 모든 문자를 제거하고 싶습니다.문자열에서 0-9 및 대시 만 반환합니다.

예 :

나는 보이는 문자열이있는 경우와 같은 :

10 abc20-30 나는이 문자열 수익을 만들 수있는 방법

10-20-30

(숫자 및 대시 외에 스트립의 모든 문자)

는 preg_match 또는 않는 str_replace에서 사용하는 정규 표현식의 어떤 종류가 있습니까? 데이터를 가정

답변

2

은 $ 문자열에,이 대시와 숫자

$string = preg_replace('/[^-0-9]/', null, $string); 
11
$result = preg_replace('/[^\d-]+/', '', $subject); 

[^\d-] 일치하는 숫자 또는 대시를 제외한 모든 문자를 제외한 모든 문자를 제거합니다; +에는 그 중 하나 이상이 표시되므로 인접한 문자가 한 번에 대체됩니다.

관련 문제