-2

我抓取了一些网站并保存数据,然后像这样回显数据:

echo $html->save();

$html部分是一个包含完整网站的变量。我想在 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

2

创建一个名为magicalbuffer.php. 在它和 iframe 上进行所有保存和抓取:

<iframe src="magicalbuffer.php?parameterToPassToScrapper=valueToPassToScrapper"></iframe>

或者

根据那个答案

printf('<iframe src="data:text/html;base64,%s"></iframe>', base64_encode($html->save()));
于 2013-05-23T19:25:10.833 回答
1

要回显抓取的数据,请不要使用 iframe。相反,将数据回显到适当的容器中,例如 div:

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

如果您希望避免将 HTML 封装在 PHP 中,请执行以下操作:

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

这通常更简洁,更容易排除故障,尤其是当您在脚本中生成大量 HTML 时。

于 2013-05-23T19:21:58.537 回答