2013-06-01 30 views
-1
function getTitle($Url) 
{ 
    $str = file_get_contents($Url); 

    if(strlen($str)>0) 
    { 
     preg_match("/\<title(.*)\<\/title\>/",$str,$title); 

     if(empty($title)) 
     { 
      $dom = new DOMDocument(); 
      @$dom->loadHTML($str); 

      $title = $dom->getElementsByTagName('title'); 

      if(empty($title->item(0)->nodeValue)) 
       return ""; 
      else 
       return $title->item(0)->nodeValue; 
     } 
     else 
      return $title[1]; 
    } 
} 

我使用了兩種方法來獲取Facebook的標題標籤,但它不工作。 Facebook網站從我的網站主機讀取信息,但我想它從用戶的瀏覽器閱讀 我需要的任何方式來閱讀標題標籤PHP如何得到Facebook的個人資料名稱

<title> ..... </title> 
Facebook網站的

。如果我在Facebook網站記錄的標題標籤將

<title id="pageTitle">Facebook</title> 
+1

您無法使用PHP從用戶瀏覽器讀取頁面。你想做什麼可能是不可能的 - 出於好的原因。 –

+0

,但它與代碼getTitle(https://www.youtube.com/watch?v=AB-1HhUg0GU)一起使用的結果是「LIONEL RICHIE HELLOW - YouTube」 – user2443940

+0

是的,因爲YouTube將該標題*大家。* –

回答

0

PHP是服務器端編程語言,所以你不能從用戶的瀏覽器直接讀取。對於服務器端,您的功能可能會正常工作或嘗試使用已經過測試的此功能:

$myURL = 'http://www.google.com'; 
if (preg_match(
     '/<title>(.+)<\/title>/', 
     file_get_contents($myURL),$matches) 
    && isset($matches[1]) 
    $title = $matches[1]; 
else 
    $title = "Not Found"; 
+0

感謝Kamal AL-Hinai,但我想要在Facebook上完全做到這一點。它可能適用於谷歌和YouTube,但不適用於Facebook。所以解決方案將使用JavaScript,我希望它能很好地工作。 – user2443940

相關問題