2011-07-10 3 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; 
      } 
     } 
} 

Salut les amis,incapable de saisir les valeurs de twitter et FeedBurner

Je suis en train d'écrire le code pour saisir les valeurs de mon twitter et Feedburner.but sa ne va pas bien. Je veux extraire les deux valeurs seules, mais je suis incapable de le faire.

+0

vous ne pouvez pas renvoyer 2 valeurs différentes. Dans votre cas, seulement $ fb sera retourné. – konsolenfreddy

Répondre

1

Vous pouvez faire en sorte que suiveurs() traitent l'un des flux et appellent la fonction deux fois, ou vous pouvez renvoyer un tableau avec les deux valeurs.

$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); 

ou:

$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); 

Je préfère le premier car il est simple et évidente ce qui se passe. Vous pouvez le rendre encore plus général en utilisant XPath pour récupérer les entrées et en laissant le second argument être une description XPath.

+0

Merci beaucoup .. j'étais juste confus que faire pour extraire les valeurs. mais quand je dis la solution, vous ne savez pas à quel point je ris de moi. – Muzammil

Questions connexes