2017-04-30 1 views
1

file_get_contents을 사용하여 웹 페이지를 방문하고 표시되는 이미지의 링크를 얻으려면 어떻게해야합니까? 페이지 https://www.roblox.com/thumbnail/asset?assetId=169454280&thumbnailFormatId=254URL에서 이미지 링크를 얻는 방법

는,이 코드 줄은 이미지가 표시됩니다 :

<img class='' src='https://t0.rbxcdn.com/5d4449ed656bd92c4d51805ff8b72610' /> 

내가이 링크로 이동 src 내부의 이미지 링크를 얻을 수 file_get_contents을 사용하려고하지만 난이 점점 계속 오류 :

Object of class DOMNodeList could not be converted to string

$dom = new DOMDocument(); 
$html = file_get_contents('https://www.roblox.com/thumbnail/asset?assetId=169454280&thumbnailFormatId=254'); 
$dom->loadHTML($html); 
$dom->preserveWhiteSpace = false; 
echo $dom->getElementsByTagName('img'); 

답변

2

사용할 수 getAttribute("src"), 즉 :

이 페이지에 여러 이미지가있는 경우
$dom = new DOMDocument(); 
$html = file_get_contents('https://www.roblox.com/thumbnail/asset?assetId=169454280&thumbnailFormatId=254'); 
$dom->loadHTML($html); 
$dom->preserveWhiteSpace = false; 
$imgs = $dom->getElementsByTagName('img'); 
foreach($imgs as $img) 
{ 
    print $img->getAttribute("src"); 
} 

, 당신은 사용할 수 있습니다 : OP의 의견에 따라


업데이트 : 당신이 확신 경우

을해야합니다 페이지 당 하나의 이미지 인 경우 foreach 루프를 제거하고 다음을 사용할 수 있습니다.

print $imgs[0]->getAttribute("src"); 
+0

문제를 해결하기 위해 어레이를 반복했습니다.이를 지적 해 주셔서 감사합니다. –

+0

답변 해 주셔서 감사합니다. 페이지에 하나의 이미지 만있을 것이며 항상 하나임을 확인할 수 있습니다. –

+1

쿨합니다. 답변이 완료되었으므로 중복 투표를 제거했습니다. –

-1

이런 일이 발생하면 정말 싫지만 일부 링크는 실제로 이미지가 아닙니다. 파일. URL이 .png 또는 .gif과 같은 파일 확장자로 끝나지 않는 경우

은 파일 확장자로 끝나는 같은 이미지를 찾을 수 있다면, 그 문제를 해결할 수

(예를 들어 https://example.com/image.png은 .PNG에 끝납니다).

관련 문제