정규표현식 원하는 부분 뽑아내기
페이지 정보
작성자
본문
문제. 아래 소스에서 클래스 속성이 title인 h태그안의 a태그들을 뽑아내기
<H2 class=title><A class="usg-AFQjCNGdaHCZpvKNt7Ajzq-iH0mrpBiyYA " id=MAA4AEgAUABqAmty
href="http://www.mdtoday.co.kr/mdtoday/?no=121137" target=_blank>이마트, 다음은 '<B>소주</B>' 가격 인하(?)</A> </H2>
<H2 class=title><A class="usg-AFQjCNGdaHCZpvKNt7Ajzq-iH0mrpBiyYA " id=MAA4AEgAUABqAmty
href="http://www.mdtoday.co.kr/mdtoday/?no=121137" target=_blank>이마트, 다음은 '<B>소주</B>' 가격 인하(?)</A> </H2>
정답. /\<H[1-6] class\=title\>(.*)\<\/H[1-6]\>/s
문제. 아래 소스에서 클래스 속성이 num인 span태그를 가지고 있는 a태그를 가져오기
<TD><A href="/news/search?pz=1&cf=all&ned=kr&hl=ko&q=%EC%A7%84%EB%A1%9C%EC%86%8C%EC%A3%BC&cf=all&start=10">
<DIV class=o></DIV><SPAN class=num>2</SPAN></A></TD>
<TD><A href="/news/search?pz=1&cf=all&ned=kr&hl=ko&q=%EC%A7%84%EB%A1%9C%EC%86%8C%EC%A3%BC&cf=all&start=10">
<DIV class=o></DIV><SPAN class=num>2</SPAN></A></TD>
정답. /(<a\s+[^>]+>.*)(<span class=num>\d+<\/span>)(?(1).*<\/a>)/is
적용 예제 소스
<?php
$s = <<< EOT
<TD><A href="/news/search?pz=1&cf=all&ned=kr&hl=ko&q=%EC%A7%84%EB%A1%9C%EC%86%8C%EC%A3%BC&cf=all&start=10">
<DIV class=o></DIV><SPAN class=num>2</SPAN></A></TD>
EOT;
preg_match_all("/(<a\s+[^>]+>.*)(<span class=num>\d+<\/span>)(?(1).*<\/a>)/is", $s, $match);
print_r($match);
<?php
$s = <<< EOT
<TD><A href="/news/search?pz=1&cf=all&ned=kr&hl=ko&q=%EC%A7%84%EB%A1%9C%EC%86%8C%EC%A3%BC&cf=all&start=10">
<DIV class=o></DIV><SPAN class=num>2</SPAN></A></TD>
EOT;
preg_match_all("/(<a\s+[^>]+>.*)(<span class=num>\d+<\/span>)(?(1).*<\/a>)/is", $s, $match);
print_r($match);
댓글목록
등록된 댓글이 없습니다.