2009-10-14 3 views

답변

3

file_get_contents 기능을 사용하면 웹 사이트에서 모든 HTML 데이터를 가져올 수 있습니다. 예를

<?php 
    $html = file_get_contents("http://google.com"); 
    $html = str_replace("\n","",$html); 
    $get_doctype = preg_match_all("/(<!DOCTYPE.+\">)<html/i",$html,$matches); 
    $doctype = $matches[1][0]; 
?> 
+0

불행히도 simple_html_dom.php를 사용하여 구현해야합니다 – Granit

+0

이 코드로 doctype을 찾으려고 했습니까? $ html-> find ('! DOCTYPE') – antyrat

+0

예. 나는 $ html-> find ('! DOCTYPE'), $ html-> find ('DOCTYPE'), $ html-> find ('doctype'), $ html-> find ('! doctype')를 시도했다. 그들 중 누구도 나를 위해 일하지 않았습니다. – Granit

1

를 들어 당신은 $html->find('unknown')를 사용할 수 있습니다. 최소한 simplehtmldom 라이브러리의 1.11 버전에서 작동합니다. 나는 다음과 같이 사용한다 :

function get_doctype($doc) 
{ 
    $els = $doc->find('unknown'); 

    foreach ($els as $e => $el) 
     if ($el->parent()->tag == 'root') 
      return $el; 

    return NULL; 
} 

그것은 단지 발견 될 수있는 다른 '알려지지 않은'요소를 다루기위한 것이다; 첫 번째가 doctype이 될 것이라고 가정합니다. 하지만 ->innertext을 명시 적으로 검사하려면 '!DOCTYPE '으로 시작해야합니다.