2014-03-25 2 views
1

을 지원하지 않으며 \ n으로, preg_match_all 내가으로, preg_match_all 작은 문제가 n을

MY reqular 표현 :

DEF FUNC test() 
{ 
    test1 
}; 

하지만이 나던 작업 : 그것은 텍스트를 작동

/\s*DEF\s+FUNC\s+(\w+\d*)\((\w*[,\s\w]*|)\)\s*{\s*(.*)\s*};/ 

텍스트 :

DEF FUNC test() 
{ 
    test1 
    test1 
}; 

나는이 3 시간과 싸우고있다/ 누가 나를 도울 수 있니?

감사

답변

1

와일드 카드 .은 기본적으로 줄 바꿈과 일치하지 않습니다. 당신이 원하는 경우

, 당신은 플래그 s (PCRE_DOTALL)를 추가해야합니다 :

preg_match_all($regex, $in, $out, PCRE_DOTALL) 
+1

을 사용해야합니다 param을 놓친 것처럼 보입니다.'$ flags'는 네 번째 매개 변수입니다. http://www.php.net/manual/en/function.preg-match-all.php – faintsignal

+0

@faintsignal : woopsie, thanks – Robin