4
나는이 같은 문자열이 있습니다재귀 정규 표현식에서 역 참조를 어떻게 찾을 수 있습니까?
$data = 'id=1
username=foobar
comment=This is
a sample
comment';
를 그리고 세 번째 필드 (comment=...
)에 \n
을 제거하고 싶습니다.
preg_replace('/\bcomment=((.+)\n*)*$/', "comment=$2 ", $data);
내 문제는 두 번째 그룹 내의 모든 경기는 이전 경기를 덮어 쓰기 때문이다. 대신이있는의 따라서, :
'...
comment=This is a sample comment'
은 이걸로 끝났다 :
'...
comment= comment'
정규 표현식에서 중간 역 참조를 저장하는 방법은 없나요? 또는 루프 내에서 모든 일치 항목을 일치시켜야합니까?
감사합니다.
니스를 줄 것이다! 한 단어 만 : PHP 문서에 따르면 "_ [the] m 한정자가 설정된 경우 _ 한정자는 무시됩니다." – elitalon
@elitalon 오 오 마이 허위. D 수정 자없이 작동하는지 확인할 수 있으면 답을 편집 할 것입니다. – eisberg
정말 고마워! – elitalon