我怎么能把整个网站打开到特定的div?

时间:2013-08-24 04:50:15

标签: php html

我正在一个网站上工作,要求将另一个网站打开到特定的div。我曾尝试下面提到的代码,但我无法获得正确的外观输出。

<div style="overflow-x: hidden; overflow-y: scroll; height:300px; width:100%" >
      <?php echo $url ?>
</div>

我必须只使用div。没有我没有其他框架。我正在使用的下面的代码。此函数的类名是Scraper

  function getPagePost($url, $data = array(), $proxy='', $userpass='', $header = array()) {
        $ch = curl_init();

        if(!empty($header)){
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header );
            curl_setopt($ch,CURLOPT_ENCODING , "gzip");
        }


        curl_setopt($ch, CURLOPT_URL, $url);
        if($this->useCookie)
            curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->ckfile);         
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

        if(!empty($proxy))
        curl_setopt($ch, CURLOPT_PROXY, $proxy);

        if(!empty($userpass))
        curl_setopt($ch, CURLOPT_PROXYUSERPWD, $userpass);

        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

        $result = curl_exec($ch);

        if($result === false) {
            $result = curl_error($ch);
        }   

        curl_close($ch);
        return $result;
    }

============================================

<?php if(isset($_POST['btnsubmit'])){

require_once 'scraper.php';
$scraper = new Scraper(); 
$url = $scraper->getPagePost($_POST['url']);
?>  

     <div style="overflow-x: hidden; overflow-y: scroll; height:300px; width:100%" >
          <?php echo $url; ?>
     </div>
     <?php } ?>

3 个答案:

答案 0 :(得分:4)

您需要iframe来执行此操作

<div style="overflow-x: hidden; overflow-y: scroll; height:300px; width:100%" >
    <iframe src="<?php echo $url;?>"></iframe>
</div>

但有些像Gmail这样的网站不支持此功能因为谷歌的所有网站都有标题中的代码,“x-frame-option:sameorigin”导致它只能在谷歌网站上运行。他们无法在iframe中打开

答案 1 :(得分:1)

我认为使用include是您正在寻找的,尽管您的问题并不十分明确。你应该:

<div style="overflow-x: hidden; overflow-y: scroll; height:300px; width:100%" >
  <?php include $url ?>
</div>

$url应该是您需要放入div的另一个“网站”的路径。如果其他“网站”是一个完整的其他网站,那么这将起作用,但某些部分可能无法工作,具体取决于其他网站上的内容。任何http标头或其他一些东西可能无效,你生成的HTML代码将无效,但它会显示类似于原始网站的内容。

我要强调的是,这不是技术上正确的答案,因为在另一个网站上展示另一个完整网站的唯一技术上正确和有效的方法是使用i-frame。

答案 2 :(得分:1)

您可以使用object embed方法而不是iframe。 http://jsfiddle.net/gDUUv/1/

E.g:

<object data="<?php echo $url ?>" width="600" height="400">
    <embed src="<?php echo $url ?>" width="600" height="400"> </embed>
</object>