2014-01-23 4 views
0

정규 표현식에 문제가 있습니다.
My 정규 표현식은 텍스트의 첫 단어 만 반환합니다. 이 문자열에서 모든 단어를 반환하고 싶습니다.정규식은 텍스트의 첫 번째 단어 만 반환합니다.

정규식 :

$test = "Reason: test test test"; 
$regex = "/Reason: (\w+)+/"; 
preg_match_all($regex, $test, $reason); 
위해서 var_dump ($ 이유)에서

반환 코드 :

array(2) { 
    [0]=> 
    array(1) { 
     [0]=> 
      string(12) "Reason: test" 
    } 
    [1]=> 
    array(1) { 
     [0]=> 
      string(4) "test" 
    } 
} 

내가 원하는 :

array(2) { 
    [0]=> 
    array(1) { 
     [0]=> 
     string(12) "Reason: test test test" 
    } 
    [1]=> 
    array(1) { 
     [0]=> 
     string(4) "test test test" 
    } 
} 
+2

을 사용할 수 있습니다. * $를'? .................. – zerkms

+0

@zerkms 귀하의 솔루션 주셔서 감사합니다, 이것은 내가 무엇을 필요합니다. – exexe

답변

1

\w이 공백과 일치하지 않는, 알파벳과 숫자 만 문자. 이것이 첫 번째 을 만났을 때 멈추는 이유입니다. 모든 텍스트가 : 이후 인 경우

, 당신은`

$regex = "/Reason: (.+)/" 
+0

해결해 주셔서 감사합니다. 솔루션 @Robin에 감사드립니다. – exexe

관련 문제