2016-11-19 2 views
0

많은 stackoverflow 질문을 읽고이 코드를 사용하고 있지만 왜 작동하지 않는지 알 수 없습니다.
다음은 코드입니다. 이 코드가 정확한지 실제로 내가 list-groupDOMXPath 객체 값이 생략되었습니다.

+0

값을 얻으려면'evaluate'을 사용하십시오. https://stackoverflow.com/a/45010743/287948 –

답변

0

에서 데이터를 얻으려면 작동하지 않는 이유

$url = 'http://m.cricbuzz.com/cricket-schedule'; 
$source = file_get_contents($url); 

$doc = new DOMDocument; 
@$doc->loadHTML($source); 

$xpath = new DOMXPath($doc); 
$classname = "list-group"; 
$events = $xpath->query("//*[contains(@class, '$classname')]"); 

var_dump($xpath); 

당신은 그것을 확인하시기 바랍니다 수 있습니다. 올바르게 DOM 목록이 $events 변수로 지정된 클래스의 속성 값을 갖는 노드들이 페치 : DOMNodeList의 인스턴스

$events = $xpath->query("//*[contains(@class, '$classname')]"); 

한다. 다음으로 목록을 반복하여 필요한 데이터를 가져와 $events에서 으로 가져와야합니다. 당신이 노드의 외부 HTML을 필요로하는 경우 예를 들어, 다음과 같은 것을 사용 :

foreach ($events as $e) { 
    printf("<<<<<\n%s\n>>>>>\n", $e->ownerDocument->saveXML($e)); 
} 

P.S이 : 내가 $elements$events의 이름을 바꿀 것입니다.

+0

이 코드는 저를 위해 작동하지 않습니다.'var_dump'에서 이것을 체크했습니다.이'객체 값을 생략했습니다. ' –

+0

wamp 서버에 문제가 있습니까? –

+0

@AzeemHaider, [this] (https://eval.in/680762) 바이올린을 확인하십시오. 나는 서버가 허용하지 않기 때문에'file_get_contents()'를 here 문서로 대체했다. 또한'var_dump' 대신에'echo' 또는'printf'를 시도하십시오. 'var_dump' ('xdebug', 나는 짐작할 수있다)의 동작을 무시하는 확장 기능이 설치되어있을 수있다. –