2012-02-28 2 views
0

URL을 전달하고 페이지의 내용을 가져 오는 함수를 만듭니다. 이 페이지에 "다음>"이 포함되어 있으면 그 URL을 가져 와서 다음 페이지가 더 이상 다음 페이지에 포함되지 않도록 계속 진행하고 싶습니다.함수를 반복하는 방법을 이해하는 데 도움이 필요합니다.

어떻게 처리할까요? while 루프?

check_url("http://site.com"); 
-> url contains 'next', href is http://site.com/ggkdoe 

-> does http://site.com/ggkdoe contain next? if so, hit it again and check if that contains 'next' then get that url etc etc 

이해 하시겠습니까? 어떻게 할 수 있습니까?

사전에이 같은

+1

지금까지 시도한 것은 무엇입니까? –

+0

일반적으로 "다음"단추는 클라이언트 쪽 출력을 구문 분석하지 않고 서버 쪽에서 생성됩니다. – Raptor

+0

가능한 [강력하고 성숙한 HTML 파서 for PHP] (http://stackoverflow.com/questions/292926/robust-mature-html-parser-for-php) – CodeCaster

답변

0

대부분의 경우 뭔가 주셔서 감사합니다 :

<?php 
$checkNext = false; 
$currentURL = "http://site.com"; 
do { 
    $check = check_url($currentURL); 
    if ($check !== null) { 
     $currentURL = $check; 
     $checkNext = true; 
    } else { 
     $checkNext = false; 
    } 
} while ($checkNext); 

를 그리고 하나 발견 null 달리 할 수 ​​있다면 check_url()가 URL을 반환한다고 가정합니다. do - while -loop은 check_url()이 다른 URL을 찾을 수있는 한 처음 URL에 대해 적어도 한 번 이상 검사가 완료되도록합니다. 마지막으로 $currentURL을 사용하여 원하는 작업을 수행하십시오.

function checkUrl($url) { 
    $atLeastOneUrl = true; 
    // Check your content 
    // Log some data about current Url 
    foreach ($urlFound in $urlsFound){ 
     check_url($urlFound); 
     $atLeastOneUrl=true; 
    } 

return $atLeastOneUrl; 
} 

하지만 당신은 그 링크 하나 확인하고 싶은 것> ... - -> 링크 1 사이클 INTERFER되지 않습니다 - 2> 링크를 :

0

당신은 완전한 링크 검색 recursivity을 사용할 수 있습니다 귀하의 검색;)

관련 문제