リモートページを取得し、いくつかの要素を修正し(PHP Simple HTML DOM Parser 'ライブラリを使用)、変更されたコンテンツを出力する必要があります。PHP - リモートページのコンテンツを完全に表示する
ソースに完全なURLがないリモートページに問題があるため、CSS要素と画像が読み込まれません。確かに、要素を変更することから私を止めるわけではありませんが、出力は悪く見えます。あなたは、コード
$html = file_get_html('http://www.raspberrypi.org/downloads');
echo $html;
を使用する場合
例えば、オープンhttps://www.raspberrypi.org/downloads/
しかし、それは悪いなります。私は簡単なハックを適用しようとしましたが、それはほんの少しのに役立ちます:
$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にドメインが含まれているかどうかを確認できます。画像については、body要素を繰り返し処理し、要素全体の文字列値に画像拡張子( '.gif'、 '.png'など)が含まれているかどうかを確認することをお勧めします。次に、現在の要素の画像urlまたはsrcを編集することができます。 –