2011-09-12 4 views
0

내 HTML 파일 중 일부는 다음과 같은 문자열을 포함합니다.PHP : 간단한 정규식 문제

{foreach $any_kind_of_charaters} 
Any kind of string including "\n\r" and spaces here 
{/foreach} 

PHP's preg_match_all를 적용하고 아래에 인쇄 된 array을 반환하고 싶습니다.

이 REGEX : /\{foreach\s+\$(.*)\}\s+(.*)\s+\{\/foreach\}/는 나를 위해
하지만 {foreach}{/foreach} 태그 사이에 새로운 행 (\ n)을 추가하면 실패합니다.

도움을 주시면 감사하겠습니다.

second key second key second key second key second key second key second key second key arraysecond key이 불필요한 데이터를 포함하고 있고 arraylast key이 완전히 비어 있습니다.

답변

6

일반 표현식에 s 수정 자 플래그를 설정하십시오. 이처럼

http://php.net/manual/en/reference.pcre.pattern.modifiers.php


: /\{foreach\s+\$(.*)\}\s+(.*)\s+\{\/foreach\}/s < -

+2

내 대답 – thwd

+0

감사의 친구를 편집 수정주의, 그러나 이전 :( –

+1

이었다 제거하는 시도로 새로운 배열은'\ 동일하지 않습니다 'm' 수식어를 사용해보십시오. – thwd