如何與LinkedIn,facebook等PHP中的自定義網站上的圖片和描述共享鏈接。如何在PHP中自定義網站上共享圖片和描述的鏈接
如果用戶分享任何有效的鏈接,它會顯示像facebook和linkedin等描述的圖像。
如何與LinkedIn,facebook等PHP中的自定義網站上的圖片和描述共享鏈接。如何在PHP中自定義網站上共享圖片和描述的鏈接
如果用戶分享任何有效的鏈接,它會顯示像facebook和linkedin等描述的圖像。
您想了解Facebook Open Graph元標記。它們允許您編輯共享文章的呈現方式。對更多信息可以在本文http://davidwalsh.name/facebook-meta-tags
我想閱讀任何網址,並在我的網站上顯示我的牆貼。 – 2012-08-17 07:50:25
啊......好的,你想用fopen或curl來獲取你感興趣的頁面的HTML並解析HTML。 – 2012-08-17 07:58:09
如果用戶發佈任何鏈接他們的牆壁,我在我的網站上看起來像Facebook牆或LinkedIn一樣的功能。 – 2012-08-17 08:01:58
中找到你需要獲得指定URL的內容,也許使用file_get_contents
或一些類似的方法(例如:this)和解析該URL的內容。
讓我們試一下非常基本的例子;
$url = get_url_from_user_post($user_post);
// get page contents (as html)
$page_contents = file_get_contents($url);
// search for title
// option 1
preg_match('~<meta\s+property="og:title"\s+content="(.*?)".*?>~um', $page_contents, $matches);
// option 2
preg_match("~<title>(.*)</title>~um", $page_contents, $matches);
$page_title = trim($matches[1]);
// search for an image
// option 1
preg_match('~<meta\s+property="og:image"\s+content="(.*?)".*?>~um', $page_contents, $matches);
// option 2
preg_match_all('~<img.*?src="(.*?)".*?>~um', $page_contents, $matches);
if (!empty($matches)) {
// ... and get one of them
而你有更多的選擇來做到這一點,獲取/解析頁面的html內容。請參閱:http://php.net/manual/en/book.dom.php,或使用PHP獲取元標記(get_meta_tags
)。
好的,我得到的是你想得到一個用戶鏈接到的網站的圖像和基本描述。
要得到描述,最簡單的方法是使用php中的get_meta_tags函數,並使用描述。
$meta = get_meta_tags($some_url);
//description will be stored in $meta['description'] if it was found from $some_url.
這依賴於現場提供適當的meta標籤,對你有利,不會總是工作,所以你需要一個備份方法(如文檔標題或詞檢查HTML)或默認上描述值意味着你根本沒有得到任何東西。
要獲取網站快照,您可以依賴第三方服務,如picoshot.com或websnapr.com/,但在很多情況下可能不是最佳選擇。如果你想自己做快照,你可以這樣做,但是這個過程會很複雜,你需要對服務器和環境進行很好的控制,你可以看看this這樣的東西來讓你開始使用快照。如果您的環境是Linux,那麼該腳本將無法工作,因爲它使用Internet Explorer瀏覽器捕獲,因此您可以檢查here以獲取某些Linux解決方法。
你遇到問題的具體部分是什麼? – deceze 2012-08-17 07:39:26
你有嘗試過嗎? – Vinay 2012-08-17 07:41:13
是的,我試過,但我沒有得到像Facebook或LinkedIn。 – 2012-08-17 07:52:23