2015-02-03 1 views
0

좋아요, 그렇기 때문에 나는 문자 그대로 혼동하지 않았습니다. 당신이 볼 수 있듯이 나는 거의 같은 기능을 두 번 여기에서 가지고있다. (나는 어리석은 것처럼 보일지 모른다.하지만 이것이 내 페이지를 읽을 때 내 페이지를 읽는 것이 더 쉽다.)하지만PHP가 경로에서 오른쪽 링크를 가져 오지 못합니다.

첫 번째가 주어진 것 링크로 이동 (http://www.blade-edge.com/images/KSA/Flights/craft.asp?db=dunai는) 다음 http://i.imgur.com/8t5rwWh.png

의 IMG의 SRC를 얻을 수있는 경로를 따라하지만 두 번째 기능 (것 http://i.imgur.com/jWWUEqt.png을)이 가리키는 것 이미지의 SRC를하지 않습니다 대신 페이지의 완전히 다른 이미지의 src를 가져옵니다 http://www.blade-edge.com/images/KSA/Flights/prev.png.

저는 이것이 정말로 간과 한 바보 같은 실수라고 확신합니다. 그러나 나는 그것을 해결할 수 없습니다.

누구나? 나를 위해

function getImage(){ 
     $page = file_get_html(getPageURL()); 
     $element = $page->find("html/body/div/div[1]/center/table/tbody/tr[1]/td/table/tbody/tr/td[1]/div/div/img"); 
     $imgLink = $element[0]->getAttribute("src"); 
     echo "<img id='shipImage' src='".$imgLink."'></img>"; 
    } 

    function getMap(){ 
     $page = file_get_html(getPageURL()); 
     $element = $page->find("/html/body/div/div[1]/center/table/tbody/tr[2]/td/center/img"); 
     $imgLink = $element[0]->getAttribute("src"); 
     echo "<img id='shipMap' src='".$imgLink."'></img>"; 
    } 
+0

HTML 소스에는 tbody 태그가 없습니다. 동일한 파일을 두 번로드 할 때 두 가지 기능이 다르다는 것은 잘못된 디자인입니다. simple_html 객체를 매개 변수로 사용하도록 함수를 다시 작성해야합니다. 따라서 파일을 두 번로드하는 대신 한 번만로드합니다. –

+0

예. http://i.imgur.com/pkkgJlm.png 정확한 경로를 얻으려면 태그를 마우스 오른쪽 버튼으로 클릭하고 xpath를 복사하십시오. 그러나 대신 무작위 이미지를 얻습니다. – user2758663

+0

나는 비슷한 기능을 두 번 사용해서는 안되지만 작동하지 않는 이유는 아닙니다. – user2758663

답변

1

다음 작품 : 나는 도서관의 내장을 모르는로

function getImage($imageType){ 
    $page = file_get_html(getPageURL()); 
    $element = $page->find("/html/body/div/div[1]/center/table/tbody", 0)->children($imageType)->find("img"); 
    $imgLink = $element[0]->getAttribute("src"); 
    return $imgLink; 
} 

echo "<img id='shipImage' src='" . getImage(0) . "'></img>"; // Spacecraft image 
echo "<img id='shipMap' src='" . getImage(1) . "'></img>"; // Map image 

나는 문제 뒤에 이유를 추측하려고하지 않을 것이다.

+0

고마워요! 하지만 선박 이미지의 ID가 'shipImage'이고 맵 이미지의 ID가 'mapImage' – user2758663

+0

입니다. 좋아요. 그래서 비슷한 ID를 가질 수 있도록 2 개의 유사한 함수를 사용했습니다. 지금은 괜찮아. 한가지 더,이 하나 (http://www.blade-edge.com/images/KSA/Flights/craft.asp?r=true&db=meeny)를 보면 2 개의지도 이미지가 있습니다. 어떻게 얻을 수 있습니까? 둘 다의 출처. 그들이 동일한 id를 가지고 있더라도 상관 없습니다 – user2758663

+0

@ user2758663 수정 된 답변을 참조하십시오. 나는 그것이 도움이 되었기 때문에 기쁘다! :) – atastrumf