2011-07-27 56 views
2

我想创建一个小的web服务,您可以在其中输入链接,并以某种方式获取链接网站的内容。PHP/JavaScript:获取链接网站的图像或内容

那么,我该怎么做呢?我其实并没有一个想法。如果它是一个iFrame,用户最终会呼叫该网站,但我希望服务器这样做,以便用户无法看到此链接网站的任何内容。

它实际上是一个像facebook一样的功能,如果你发布一个链接,它会得到标题,内容(文本和图像)以及一些标签。它是如何做到的?

感谢您的回答!

弗洛

+0

你也可以使用file_get_contents($ url)echo $ url; – Mob

+0

没错,但是如果一个网站需要一个useragent,那么你就被卡住了。 – Sparkup

回答

2

在PHP中可以使用卷曲

$link = 'http://example.com/page.html'; 

$ch = curl_init ($link);  
curl_setopt($ch, CURLOPT_AUTOREFERER , true);   
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);  
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);  
$data = curl_exec ($ch);  
curl_close($ch); 

echo $data; 

希望它能帮助。

编辑

有些网站需要用户代理

$useragent= "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0_1 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7A400";   
curl_setopt($ch, CURLOPT_USERAGENT, $useragent); //add this line 

不同者的名单,可以发现here

更新

$data是HTML页面的字符串,所以标题:

$string = substr($data, strripos($data,'<title>')+strlen('<title>')); 
$string = substr($string, 0, stripos($string, "</title>")); 

echo $string; 

会给你的页面标题(如在你的例子)

的Facebook也依赖于特殊meta标签

<meta property="og:title" content="Welcome to the homepage" /> 
<meta property="og:image" content="this-is-the-image-for-this-page.jpg" />