2011-09-10 45 views
1

因爲我確信每個人都知道,當你在Facebook上輸入URL時,無論是在狀態還是留言時,它都會自動從文章中檢索圖像以及標題和我想的元描述。添加網絡刮板到WordPress的網站類似於Facebook的功能

我真的很喜歡將這樣的功能實現到我正在構建的網站中。唯一的問題是,我不知道從哪裏開始!

理想情況下,我想在網站上有一個專用網頁,用於鏈接到其他感興趣的文章。我只想顯示圖片,標題和幾行描述性文字。標題將直接鏈接到源代碼。

有沒有人有任何建議或指點,可以幫助我?非常感謝你們提供的任何提示。

非常感謝

-J

+0

不是一個答案,只是一個花絮 - 一個標準,幫助Facebook的提取網頁的信息有針對性地被稱爲的Open Graph協議:http://ogp.me –

+0

感謝,感謝您評論。我知道開放圖協議,它確實有助於提取所需的信息。 – jaffa

回答

0

我不得不在前段時間做類似的事情,我用Jquery(和php一起做代理)來完成這個任務。

<script type="text/javascript"> 
$(document).ready(function() 
{ 
$("#statusbox").keyup(function() 
{ 
var content=$(this).val(); 
var urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 
var url= content.match(urlRegex); 
if(url.length>0) 
{ 
$("#statusbox").slideDown('show'); 
$("#statusbox").html("<img src='ajax_loader.gif'>"); 
// php proxy to get details of the page (bypass cross domain thing) 
$.get("proxy.php?url="+url,function(response) 
{ 
var title=(/<title>(.*?)<\/title>/m).exec(response)[1]; 
var logo=(/src='(.*?).jpg'/m).exec(response)[1]; 
$("#statusbox").html("<img src='"+logo+".jpg' class='img'/><div><b>"+title+"</b><br/>"+url) 
}); 

} 
return false; 
}); 
}); 

當然這可以改善.. 和PHP文件可以簡單的

<?php 
if($_GET['url']) 
{ 
$url=$_GET['url']; 
echo file_get_contents($url); 
} 
?> 

其他更好的辦法是使用捲曲和使用使用PHP本身檢索網頁的內容更好的HTML解析器..

另一種解決方案(付費免費+)是使用Embedly

編輯: 順便說一句Embedly有worpress plugin ..