我不得不在前段時間做類似的事情,我用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 ..
不是一個答案,只是一個花絮 - 一個標準,幫助Facebook的提取網頁的信息有針對性地被稱爲的Open Graph協議:http://ogp.me –
感謝,感謝您評論。我知道開放圖協議,它確實有助於提取所需的信息。 – jaffa