-2

いくつかの Web サイトをスクレイピングしてデータを保存し、次のようにデータをエコーし​​ます。

echo $html->save();

部分は、$html完全な Web サイトを保持する変数です。ページ全体を iframe でエコーしたいのですが、通常はソースを入れsrc="file.php?url=http://somewebsite.com"ます Iframe を含む代わりに変数をエコーする方法:

echo '<iframe src="$html->save()"></iframe>'; 

これはどのように行われたのですか、それとも私は完全に終わっていますか?

次のように simple-html-dom と CURL を使用しています。

require_once('simple_html_dom.php');
require_once('url_to_absolute.php');



$url = $_GET['url'];

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $curl_scraped_page = curl_exec($ch);

    $html = new simple_html_dom();
    $html->load($curl_scraped_page, true, false);
    


foreach($html->find('a') as $a) {
    $a->href = url_to_absolute($url, $a->href);
}






echo $html->save();

$html->clear();
4

2 に答える 2

1

スクレイピングされたデータをエコーするには、iframe を使用しないでください。代わりに、データを div などの適切なコンテナーにエコーします。

echo '<div>' . $html->save() . '</div>';

HTML を PHP でカプセル化したくない場合は、次のようにします。

?>
<div><?php echo $html-save(); ?>"></div>
<?php

多くの場合、特にスクリプトで大量の HTML を生成している場合は、これがよりクリーンでトラブルシューティングが容易になります。

于 2013-05-23T19:21:58.537 に答える