我正在搜索一些网站并保存数据,然后像这样回复数据:
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();
答案 0 :(得分:2)
创建名为 magicalbuffer.php
的文件。在其上和iframe上进行所有保存和修改:
<iframe src="magicalbuffer.php?parameterToPassToScrapper=valueToPassToScrapper"></iframe>
或强>
根据 answer
printf('<iframe src="data:text/html;base64,%s"></iframe>', base64_encode($html->save()));
答案 1 :(得分:1)
要回显抓取的数据,请不要使用iframe。相反,将数据回显到适当的容器,例如div:
echo '<div>' . $html->save() . '</div>';
如果您希望避免在PHP中封装HTML,请执行以下操作:
?>
<div><?php echo $html-save(); ?>"></div>
<?php
这通常更简洁,更容易排除故障,特别是如果您在脚本中生成大量HTML。