뷰패턴구하기 gnuParser
링크페이지의 제목을 클릭해 나온 페이지가 뷰페이지죠.
여기서 구할 것은 제목과 내용입니다.
아래는 참조용으로 사용한 뷰패턴 중 하나입니다.
<리스트패턴>
#Subject\s\s<\/td>\s+<td[^>]+>(?P<subject>[^<]+)<\/td>.+http:\/\/redtea\.kr\/\?b=\d+&n=\d+</a>\s+<\/div>\s+(?P<contents>.+)<br><br>\s+<br>\s+<div\salign=right><\/div>#sxU |
위 예에서는 제목이 먼저 나오고 내용이 뒤 따라 나오는 경우네요.
사이트에 따라서는 내용이 먼저 나오고 제목이 뒤에 나올 수도 있겠네요.
위 예의 경우 우리가 구하고자 하는 부분은
제목에 해당하는 (?P<subject>[^<]+) 과 내용에 해당하는 (?P<contents>.+)
1. 리스트패턴구하기를 잘 읽어 보셨다면 뷰패턴구하기도 쉽게 이해하실 겁니다.
물론 패턴 구하는 것이 그리 쉬운 일은 아니나 꾸준히 관심을 갖고 보시면 해결하실 겁니다.
<실전예제> gnuParser patternTester
그누파서(gnuParser )의 패턴테스터기를 사용하시면 쉽게 확인해 볼 수 있습니다.
관리자모드 해당 리스트 수정의 패턴 영역에 링크되어 있습니다.
1. 뷰페이지에서는 제목과 내용을 추출해야 합니다.
먼저 뷰페이지로 갑니다.
2. 소스보기를 통해 제목과 내용이 어느 위치에 있는지 파악합니다.
대부분 제목이 먼저 있고 내용이 나중에 있죠.
제목 부터 공략합니다.
예) 그누보드5 뷰페이지
제목소스)
<header> <h1 id="bo_v_title"> 모바일 글쓰기 테스트</h1> </header>제목패턴)
h1 id=\"bo_v_title\">(?P<subject>[^<]+)<\/h1>
내용소스)
<!-- 본문 내용 시작 { -->
<div id="bo_v_con"><b><span style="font-size:12pt;color:rgb(27,73,106);">모바일 글쓰기 테스트 아이콘확인 <img src="http://navycolor.com/data/editor/1710/676438061604f8446567d5e70b18a83b_1507992061_1199.gif" title="676438061604f8446567d5e70b18a83b_1507992061_1199.gif" alt="676438061604f8446567d5e70b18a83b_1507992061_1199.gif" /> </span></b></div>
<!-- } 본문 내용 끝 -->
내용패턴)
<!-- 본문 내용 시작 { -->\s+(?P<contents>.+)\s+<!-- } 본문 내용 끝 -->
1) 먼저 그누보드5 내용소스가 <!-- 본문 내용 시작 { -->과 <!-- } 본문 내용 끝 --> 사이에
있다고 친절하게 코멘트 처리되어 있네요.
그리고 내용과 그 사이에 빈 공간이 있으므로 공간을 뜻하는 \s 여러개 있을 수 있으므로 \s+ 양쪽에 처리해 주시면 되겠네요.
참고로 공백이 0개 이상은 \s* , 1개 이상은 \s+
2) 그리고 제목과 내용 사이에는 수 많은 공백과 문자들로 채워져 있으므로
그 사이를 .+로 처리하면 되겠습니다.
여기서 점( . )은 문자/숫자/공백 등 모든 문자 하나에 해당합니다.
즉, .+은 하나 이상의 문자를 의미합니다. 공백 포함해서 말이죠.
3) 뷰패턴은
#h1 id=\"bo_v_title\">(?P<subject>[^<]+)<\/h1>.+<!-- 본문 내용 시작 { -->\s+(?P<contents>.+)\s+<!-- } 본문 내용 끝 -->.+#isU
'PHP > 그누보드5' 카테고리의 다른 글
정규표현식 기초 1,2 gnuParser (0) | 2019.01.12 |
---|---|
첨부파일패턴구하기 gnuParser (0) | 2019.01.12 |
리스트패턴구하기 gnuParser (0) | 2019.01.12 |
그누보드5 서버이전후 캡챠 및 로그인 오류시 (0) | 2018.09.26 |
그누보드5 포인트에 따라 자동 등업 소스 (0) | 2017.09.25 |
그누보드5 iframe 입력되도록 바꾸는 방법 (0) | 2017.09.24 |