원격 페이지를 가져와 (PHP Simple HTML DOM Parser '라이브러리를 사용하여) 일부 요소를 수정하고 수정 된 내용을 출력해야합니다.PHP - 원격 페이지 내용 전체 표시
소스에 전체 URL이없는 원격 페이지에 문제가있어서 CSS 요소와 이미지가로드되지 않습니다. 물론, 그것은 요소를 수정하는 것을 막지는 못하지만 결과는 나 빠진다.
예를 들어오픈 https://www.raspberrypi.org/downloads/
그러나 코드를
$html = file_get_html('http://www.raspberrypi.org/downloads');
echo $html;
를 사용하는 경우 나쁜 볼 것이다. 나는 간단한 해킹을 적용하려고하지만 조금 도움이 :
$html = file_get_html('http://www.raspberrypi.org/downloads');
$html=str_ireplace("</head>", "<base href='http://www.raspberrypi.org'></head>", $html);
echo $html;
'http://www.raspberrypi.org'에서 $ html로 변수의 모든 링크를 구문 분석 스크립트를 "지시"어떤 방법이 있나요? 즉, raspberrypi.org를 가져온 모든 이미지/CSS 요소의 "주요"원본으로 만드는 방법은 무엇입니까?
나는 그것을 더 잘 설명하는 방법을 알지 못한다. 그러나 나는 당신에게 생각이 있다고 믿는다.
예를 - 원격 도메인의 그 안에 포함되지 않은 모든 "무효"링크를 발견, 도메인 추가 및 내용 출력 –
귀하의 노력에 감사 드리며 지금은 유일한 해결책 인 것 같습니다. 물론 코드를 약간 수정해야합니다 (코드가 여러 페이지를 구문 분석하는 데 사용되기 때문에 도메인 URL이없는 링크에만 접두사를 추가해야 함).하지만 대부분이 허용되는 대답 일 것입니다. 쉬운 생각) :) –
예. href에 도메인이 포함되어 있는지 확인할 수 있습니다. 이미지의 경우 본문 요소를 반복하고 전체 요소의 문자열 값에 이미지 확장명 (예 : '.gif', '.png')이 있는지 확인하는 것이 좋습니다. 그런 다음 현재 요소의 이미지 url 또는 src를 편집 할 수 있습니다. –