如何使用PHP在一个站点上显示另一个站点上的内容?

如何使用PHP在一个站点上显示另一个站点上的内容?,php,Php,我曾经听说可以使用Curl来实现这一点,但我不想在我的站点上显示外部站点的所有内容,而只显示特定div的内容。如何实现这一点?您可以使用Curl从您想要的URL获取html,然后解析结果以“抓取”这个div是你想要的。你可以用它抓取一个页面并轻松地选择其中的一部分 简单到: $html = file_get_html('http://www.google.com/'); $ret = $html->find('div[id=foo]'); 文件 如果您想抓取的是的标题,那么下面的代码将

我曾经听说可以使用Curl来实现这一点,但我不想在我的站点上显示外部站点的所有内容,而只显示特定div的内容。如何实现这一点?

您可以使用Curl从您想要的URL获取html,然后解析结果以“抓取”这个div是你想要的。

你可以用它抓取一个页面并轻松地选择其中的一部分

简单到:

$html = file_get_html('http://www.google.com/');
$ret = $html->find('div[id=foo]'); 
文件

如果您想抓取的是的标题,那么下面的代码将起作用。您需要将simple_html_dom.php和一个名为page.txt的文件(确保脚本具有读写权限)放在与以下脚本相同的文件夹中。(我假设您已经启用了cURL,正如您在问题中提到的。)


按照豪尔赫所说的进行刮除。

您仍然需要使用Curl和regex。

这会破坏页面,例如运行This:Edited my answer。如果您想从站点获取标题,代码正在工作。Regex将不可靠。DOM解析器将更加可靠。
<?php

include 'simple_html_dom.php';

$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://www.freeoh.net/");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_REFERER, "http://www.freeoh.net/");

$result = curl_exec ($curl);
curl_close ($curl);
//write contents of $result to file
$File = "page.txt";
$fh = fopen($File, 'w') or die("can't open file");
fwrite($fh, $result);
fclose($fh);
//turn file into dom object
$page = file_get_html("page.txt");
$header = $page->find("div", 1);
echo $header;

?>