2012-09-08 3 views
0

HTML 문자열에서 임의의 수의 isbn 번호를 캡처하고 싶습니다. 하나는 이러한 문자열은 임의의 반복 횟수 캡처

978-2-7560<br />978-2-84055<br />978-2-84789<br />978-2-906187<br /> 

가 이상적으로 내가으로, preg_match_all 별도로 각각의 반복을 캡처 할 일 정규식을 사용 할 수 있습니다.
(([\d-]{7,}<br />)+) 

그런 다음

"<br />", 

하여 분할하지만 난 오히려 단지 하나 개의 정규 표현식을 사용하십시오 : 물론 지금처럼 전체 문자열을 캡처 할 수 있습니다. 그게 가능하니?

감사합니다. 당신은 단지 ISBN 부분의 캡처 남아있을 것이다, 그래서

(?:([\d-]{7,})<br />)+ 
    ^--inner ^--inner 
^--outer   ^--outer 

?:는, 외부 그룹 비 캡처한다 : ​​

답변

0

나는 이것을 할 수 없다고 생각합니다. 예를 들어, 무엇을하고 싶었는지 'a'의 난수를 가진 간단한 정규식을 사용하여 "aaaaa"문자열에서 배열 (a, a, a, a, a)를 캡처하는 것입니다. 나는 그것을 닫을 것이다, 노력 녀석을 위해 유감스럽게 생각해.

1

두 번째 캡처 그룹 및 일부 비 캡처 마법을 사용합니다.

+0

우선, 캡처 팁이 아닌 것에 대해 감사드립니다. 내가 모르는 또 다른 것. 그러나 그것은 내가 원하는 것을하지 않으며, 그것은 여러 경기를 포착하는 것입니다. – pouzzler

0

explode() 일 수 있습니다. 이것은 <br /> 태그 변경 (<br>, <br/>)의 형식을 가정 깰 수 있다는

explode("<br />", $string); 

참고.

관련 문제