2011-08-02 5 views
0

나는 웹에서 일부 데이터를 얻기 위해 곱슬 곱슬을 사용하려고합니다. 내가 가지고있는 것은 somewebsite.com과 같은 URL입니다. 이 웹 사이트에, class="control-element"하고이 마크 업을 한 <divs>의 전체 무리가있다 :어떻게이 페이지에서 URL을 추출합니까

<div class="control-element"> 
    <a href="http://someurl.com/and/some/path">Anchor Text</a> 
</div> 

어떻게 이러한 각 링크의 URL과 앵커 텍스트를 추출해야합니까? 이 정규식을 사용해야합니까? 또는 그것을하는 제일 방법은 무엇인가?

답변

1

난 당신이 file_get_contents() 대신 cURL 사용하여 잘 될 수있는이 특별한 경우에 생각합니다.

html 구문 분석의 경우 Simple HTML DOM을 살펴보십시오.

$doc = file_get_contents("http://someurl.com/"); 
preg_match_all('/<div class="control-element">(.*)<\/div>/isU', $doc, $matches); 
$co = count($matches[1]); 
for($i = 0; $i<$co;$i++) 
{ 
    preg_match_all('/<a href="(.*)">(.*)<\/a>/isU', $matches[1][$i], $matches2); 
    echo("URL: ".$matches2[1][0]." Anchor: ".$matches2[2][0]."<br>"); 
} 
+0

내가 설치하고이를 위해 외부 라이브러리를 사용하려는 모르겠어요 :

어떤 3 번째 파티 라이브러리를 사용하지 않을 경우

, 여기에 정규 표현식을 사용하는 예입니다. – sameold

+0

file_get_contents()가 외부 라이브러리가 아니므로 개발자가 게시 한 링크를 클릭하십시오. 그것은 네이티브 PHP 함수입니다. – Chamilyan

+0

나는 내 게시물을 편집하고 php의 내장 함수 만 사용하여 예제를 추가했습니다. CURL을 사용하려면 – technology

관련 문제