웹 사이트를 구문 분석하는 데 simple_html_dom
을 사용하고 있습니다. doctype을 추출하는 방법이 있습니까?simple_html_dom을 사용하여 doctype 추출
1
A
답변
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];
?>
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 '
으로 시작해야합니다.
불행히도 simple_html_dom.php를 사용하여 구현해야합니다 – Granit
이 코드로 doctype을 찾으려고 했습니까? $ html-> find ('! DOCTYPE') – antyrat
예. 나는 $ html-> find ('! DOCTYPE'), $ html-> find ('DOCTYPE'), $ html-> find ('doctype'), $ html-> find ('! doctype')를 시도했다. 그들 중 누구도 나를 위해 일하지 않았습니다. – Granit