2011-07-10 64 views
0
$rssfeed = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=tutorialsbucket"; 
$twitter = "http://twitter.com/users/show.xml?screen_name=tutorialsbucket"; 

function followers($arg1, $arg2) { 
    $url = array($arg1, $arg2); 
     foreach ($url as $value) 
     { 
      $ch = curl_init(); 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
      curl_setopt($ch, CURLOPT_URL, $value); 
      $data = curl_exec($ch); 
      curl_close($ch); 

      $xml = new SimpleXMLElement($data); 
      $fb = $xml->feed->entry['circulation']; 
      $tw = $xml->followers_count; 

      if (!empty($fb) || !empty($tw)) 
      { 
       return $fb; 
       return $tw; 
      } 
     } 
} 

喜的朋友的價值,無法抓取Twitter和Feedburner的

我寫代碼來抓住我的Twitter的價值和Feedburner.but它不會好。我想單獨提取這兩個值,但我無法做到這一點。

+0

你不能返回2個不同的值。在你的情況下,只有$ fb將被退回。 – konsolenfreddy

回答

1

您可以讓followers()處理其中一個提要並調用該函數兩次,也可以返回一個包含兩個值的數組。

$rssfeed = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=tutorialsbucket"; 
$twitter = "http://twitter.com/users/show.xml?screen_name=tutorialsbucket"; 

function followers($url, $twitter) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    $data = curl_exec($ch); 
    curl_close($ch); 

    $xml = new SimpleXMLElement($data); 
    if($twitter) { 
    return $xml->followers_count; 
    }else{ 
    return $xml->feed->entry['circulation']; 
    } 
} 

$tw = followers($twitter, true); 
$fb = followers($rssfeed, false); 

或:

$rssfeed = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=tutorialsbucket"; 
$twitter = "http://twitter.com/users/show.xml?screen_name=tutorialsbucket"; 

function followers($arg1, $arg2) { 
    $url = array($arg1, $arg2); 
    $result = array(); 
    foreach ($url as $value) 
    { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_URL, $value); 
    $data = curl_exec($ch); 
    curl_close($ch); 

    $xml = new SimpleXMLElement($data); 
    $fb = $xml->feed->entry['circulation']; 
    $tw = $xml->followers_count; 

    if (!empty($fb)) 
    { 
     $result[] = $fb; 
    }elseif(!empty($tw)){ 
     $result[] = $tw; 
    } 
    } 
    return $result; 
} 

list($fb, $tw) = followers($rssfeed, $twitter); 

我喜歡第一個,因爲它的簡單和明顯發生了什麼。通過使用XPath獲取條目並讓第二個參數成爲XPath描述,可以使其更加通用。

+0

非常感謝你..我只是困惑,該怎麼做來提取值。但是當我說出解決方案時,你不知道我對我有多笑。 – Muzammil