나는 비슷한 질문을하지만 나는 여기에 붙어있다. 나는 이것으로 나를 도와 줄 좋은 튜토리얼을 찾을 수 없다. 그러나 내가하고 싶은 것은 매우 기초적이어야합니다. 나는이 얻을 수는 XPath 얻기 위해 크롬을 사용하여, 나는 Stackoverflow.com에 H1 "최고 질문을"잡아하고 싶은 말은하자 :Xpath와 Xpath를 에코하기
이//*[@id="h-top-questions"]
그래서 제 질문은이다; 나는 이것을 어떻게 반향합니까? 모든 I이있어 그물 각지에서 코드 조각을 사용하여 :
<?php
$curl = curl_init('http://stackoverflow.com/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10');
$html = curl_exec($curl);
curl_close($curl);
if (!$html) {
die("something's wrong!");
}
//var_dump(strlen($data));
$dom = new DOMDocument();
@$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$headerh1 = $xpath->query('//*[@id="h-top-questions"]');
foreach($headerh1 as $match) {
print_r($match);
}
?>
나는이 그냥 출력
<h1 id="h-top-questions">Top Questions</h1>
을 것이라고 추측했다. 하지만 대신
DOMElement Object ( )
이 나옵니다.
누구든지 도와 줄 수 있습니까? 나는 이것을 배우려고 노력하고있다.
필자는 print_r ($ match);를 echo $ match-> nodeValue로 변경했다고 생각합니다. "\ n";그리고 지금 그것이 효과가 있습니다, 그것이 당신이 의미하는 것입니까? – Linkjuice57
네, 유일한 차이점은 item ($ index) 메소드 대신 DOMNode를 얻기 위해 노드를 반복하는 것이지만이 경우에는 중요하지 않습니다. – erdeszt