PHP JSON Twitter Feed Verbesserung

  • Ich arbeite an einem PHP-Twitter-Feed für meine Website . Bisher habe ich herausgefunden, wie das Datum ausgegeben werden soll, aber ich möchte die URLs heraussuchen und sie verlinken. Ich möchte auch die #hashtags auswählen und sie mit Twitter verknüpfen. Ich lerne gerade PHP, also wäre jede Hilfe dankbar.

     <?php
        $count = 5;
        $tweet=json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline/atrueresistance.json?count=".$count."" ));
        for ($i=1; $i <= $count; $i++){   
            echo "<div class='tweet'>".$tweet[($i-1)]->text."                
                <div class='tweet_date'>". date("M \- j",strtotime($tweet[($i-1)]->created_at))."
                </div>
            </div>";   
         }    
    ?>
     
    24 August 2011
    atrueresistance
1 answer
  • Da niemand darauf reagiert, dachte ich mir, dass es an der Zeit ist, den Code zu setzen, den ich gefunden habe.

    Viel Spaß!

     <?php
    
    $count = 5;
    $tweet=json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline/atrueresistance.json?count=".$count."" ));
    for ($i=1; $i <= $count; $i++){
        //Assign feed to $feed
        $feed = $tweet[($i-1)]->text;
        //Find location of @ in feed
        $feed = str_pad($feed, 3, ' ', STR_PAD_LEFT);   //pad feed     
        $startat = stripos($feed, '@'); 
        $numat = substr_count($feed, '@');
        $numhash = substr_count($feed, '#'); 
        $numhttp = substr_count($feed, 'http'); 
        $feed = preg_replace("/(http:\/\/)(.*?)\/([\w\.\/\&\=\?\-\,\:\;\#\_\~\%\+]*)/", "<a href=\"\\0\">\\0</a>", $feed);
        $feed = preg_replace("(@([a-zA-Z0-9\_]+))", "<a href=\"http://www.twitter.com/\\1\">\\0</a>", $feed);
        $feed = preg_replace('/(^|\s)#(\w+)/', '\1<a href="http://search.twitter.com/search?q=%23\2">#\2</a>', $feed);
        echo "<div class='tweet'>".$feed.  "<div class='tweet_date'>". date("M \- j",strtotime($tweet[($i-1)]->created_at))."
                </div></div>";      
        }?>
     
    21 October 2011
    atrueresistance