정규식 질문합니다.

정규식 질문합니다.

QA

정규식 질문합니다.

본문

안녕하세요. 이렇게 오랜만에 질문을 드리게되네요.

우선 답변 감사드리구요! 언제나 행복 하실꺼에요!!

 


<div class='Code User' id='Main'>
html tag 50줄
</div>

 

상단에 코드안에 html tag 50줄 정도가 들어있습니다!

저 내용만 추출 하는 정규식을 만들고 싶어요.

근데 조건은

div태그 - > Code클래스명으로 저 내용을 추출 하는 방식을 알고싶어서요!!

php preg_match_all로 추출 하려고 합니다!!

preg_match_all("#<div[\s]class=['\"]board-list['\"]>(.*?)<\/div>#is", $Result, $content); 

이런식으로 써봤는데요.. 중간 내용이 짤려서 </div>가 중간에 닫혀버립니다. ㅠㅠ..형제 요소가 아닌 자식 </div>에서 닫혀버려서 내용부분이 잘리는 현상이있습니다. ㅠㅠ

 

감사합니다!

이 질문에 댓글 쓰기 :

답변 3

중간에 닫혀 버리는 </div> 때문이시라면 * 대신에 + 를 써보세요

preg_match_all("#<div[\s]class=['\"]board-list['\"]>(.+)<\/div>#is", $Result, $content);

기본적인 방식은 다 알고 계신거네요...
그렇다면 방법이 파싱 프로그램을 만드는 거 말곤 딱히 없습니다.
lazy, greedy match 검색만 해봐도 잘 안되기도 하지만 하도 경우가 많아서 믿을수 없다고 하더군요 ^^

저 예시의 마지막 </div>태그 앞 부분이나 뒤 부분의 특정될 내용을 알아야 풀 수 있겠네요.

아마도 가운데 50줄 정도되는 태그중 div태그가 있고 /div태그가 있을 것으로 보이는데

거기서 짤리는 모양이네요.

 

그리고 저런 형태가 되풀이 반복되지 않는다면 preg_match함수를 사용하죠.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,716 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT