2016-11-15 3 views
0

HTML iframe 코드가 있고 첫 번째 태그의 href 값을 가져 오려고합니다. 이 PHP 코드가 있습니다getAttribute()를 사용할 때 DOMDocument가 500을 반환합니다.

<?php 
$iframe_input=$_GET["code"]; 
$doc_url = new DOMDocument(); 
@$doc_url->loadHTML($iframe_input); 

$iframe_links = $doc_url->getElementsByTagName('a'); 
$iframe_link = $iframe_links[0]->getAttribute('href'); 

echo $iframe_link; 
?> 

xampp에서 로컬로 실행할 때 모든 사항이 정상입니다. 나는 (디지털 오션)을의 nginx 웹 서버에서 실행할 때, 나는 $iframe_link = $iframe_links[0]->getAttribute('href');를 제거하는 경우,이 오류를 반환하지 않습니다 참고로하는 HTTP를 500

PHP message: PHP Fatal error: Cannot use object of type DOMNodeList as array

를 얻을.

답변

0

오류가 발생하면 서버에 이전 버전의 PHP가 있기 때문입니다.

DOMNodeList은 버전 5.6의 배열로만 사용할 수 있습니다. 당신이이 같은 방법 item()를 사용하여 요소를 0에서 항목을 얻을 필요가 이전 버전을 서버에서 작업 할 경우 here

확인 :

$iframe_links->item(0)->getAttribute('href'); 
+0

내가 코드를 시도하고는 HTTP를 제공합니다 Btw 로그 파일의 오류로 스레드를 업데이트했습니다. –

+0

@DimitriosStefos보고 한 오류를 반영하여 내 대답을 업데이트했습니다. 희망은 지금 일할 것이다. –

+1

php5.6-phpm으로 php를 업데이트했습니다. Daniel에게 감사드립니다. –