Teil von  SELFPHP   Teil von  Code Snippets / PHP / HTTP
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Twitter Accounts abfragen und auf eigener Seite anzeigen

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen




Beispielaufgabe

Mit der nachfolgenden PHP5 Klasse können Sie komfortabel Accounts bei Twitter abfragen und auf der eigenen Webseite darstellen. Neben dem Logo werden auch weitere Parameter wie z.B. die Menge der Followers angezeigt. Beschreibung

In unserem Beispiel haben wir die ersten 5 Mannshaften (hier verkürzte Ausgabe) der aktuellen Bundesligatabelle genutzt, um die Accounts auf der eigenen Seite darzustellen. Auch wäre z.B. eine Anzeige wichtiger Firmen oder Partner, die bei Twitter einen Account haben, durch diese Klasse möglich.

Die Klasse greift dabei direkt auf die Twitter Seite zu, um die Informationen zu holen. Twitter beschränkt allerdings die Zugriffe auf 150 pro Stunde. Hier wäre z.B. eine Erweiterung der Klasse möglich, die z.B. einmal in der Stunde die Daten holt und dann nur noch lokal die Accounts auflistet.

Die Klasse wurde unter der BSD License gestellt und kann somit für private und kommerzielle Zwecke genutzt werden.



<?php

/**
 * PHP5 Class get twitter accounts
 * Required: PHP 5
 *
 * @package TwitterAccounts
 * @author Damir Enseleit
 * @copyright 2012, SELFPHP OHG
 * @license BSD License
 * @version 1.0.0
 * @link http://www.selfphp.de
 * 
 */ 

class TwitterAccounts 
    
    protected 
$twitterXML;
    
    protected 
$twitterAccounts;
    
    private 
$twitterurl 'http://api.twitter.com/1/statuses/user_timeline.xml?';
    
    
    public function 
loadTwitterAccounts$accounts )
    {
        
        if ( 
count($accounts) == )
            return 
false;
        
        
$curl curl_init();
        
        
$this->twitterAccounts = array();
        
        for ( 
$x 0$x count $accounts ); $x++ ) {
            
$url  $this->twitterurl;
            
$url .= 'screen_name=' $accounts[$x];
            
$url .= '&count=1';
            
            
curl_setopt($curlCURLOPT_URL$url);
            
curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
            
$this->xml curl_exec($curl);
            
            
$this->twitterAccounts[$accounts[$x]] = curl_exec($curl);
        }
            
        return 
$this;
        
    }
    
    public function 
getTwitterXml(){
        
        return 
$this->twitterAccounts;
        
    }

    public function 
getXmlEntry$entry $field null ){
        
        
$xml simplexml_load_string($this->twitterAccounts[$entry]);
        
        if ( 
is_null $field ) )
            return 
$xml->status->user;
        else
            return 
$xml->status->user->$field;
        
    }
    
    public function 
getHighImage($url){
        
// URL-Format: 
        //https://si0.twimg.com/profile_images/2534128913/c8z60d37ppteq0v7qm5e_normal.jpeg

        // get image: c8z60d37ppteq0v7qm5e_normal.jpeg
        
preg_match('/[^\/]+$/'$url$imageComplete);

        
// get url: https://si0.twimg.com/profile_images/2534128913/
        
preg_match('/.*[\/$]/'$url$getUrl);
        
        
// get last image string: _normal.jpeg
        
preg_match('/[^\_]+$/'$imageComplete[0], $imageLast);
        
$imageLast[0] = '_' $imageLast[0];
        
$end explode('.'$imageLast[0]);

        
$oldFile $end[0] . '.' $end[1];
        
$newFile '.' $end[1];


        
$suchmuster '/'.$oldFile.'/';
        
$ersetzungen $newFile;
        
        return 
preg_replace($suchmuster$ersetzungen$url);
        
    }
}

?>



Anwendungsbeispiel

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<style>
  #twitterholder{
    width:600px;
    padding: 30px 0px 0px 30px;  
  }
  </style>  
 <!--Css vom Twitter Account: https://twitter.com/FCBayern --> 
 <link rel="stylesheet" 
     href="https://si0.twimg.com/a/1350941601/t1/css/t1_core_logged_out.bundle.css" 
     type="text/css" media="screen">
    
</head>

<body>
<?php

include("twitter_accounts_class.php");
$twitter = new TwitterAccounts();
$accounts = array('FCBayern''Eintracht_News''s04''BVB''bayer04fussball');
$feed $twitter->loadTwitterAccounts($accounts)->getTwitterXml();

/*
 * Gibt nur ein spezielles Feld aus, hier im Beispiel der Name: FC Bayern M?
 */
//$entry = $twitter->getXmlEntry('FCBayern', 'name');
//echo $entry;


/*
 * Einzelnen kompletten Tweet holen
 */
//$entry = $twitter->getXmlEntry('FCBayern');
//echo $entry->name;
//echo '<a href="' . $entry->url . '" alt="' . 
//$entry->name . '" target="_blank"><img src="' . 
//$entry->profile_image_url . '" border="0"></a>';
//print_r($entry);


/*
 * Alle Tweets ausgeben
 */
$template file_get_contents('twitter_template.html');

for( 
$x 0$x count($accounts); $x++ ){
    
    
$copyTemplate $template;
    
$entry $twitter->getXmlEntry($accounts[$x]);

    
$suchmuster = array();
    
$suchmuster[0] = '/#name#/';
    
$suchmuster[1] = '/#screen_name#/';
    
$suchmuster[2] = '/#url#/';
    
$suchmuster[4] = '/#statuses_count#/';
    
$suchmuster[5] = '/#friends_count#/';
    
$suchmuster[6] = '/#followers_count#/';
    
$suchmuster[7] = '/#profile_image_url#/';

    
$ersetzungen = array();
    
$ersetzungen[0] = $entry->name;
    
$ersetzungen[1] = $entry->screen_name;
    
$ersetzungen[2] = $entry->url;
    
$ersetzungen[4] = $entry->statuses_count;
    
$ersetzungen[5] = $entry->friends_count;
    
$ersetzungen[6] = $entry->followers_count;
    
$ersetzungen[7] = $twitter->getHighImage($entry->profile_image_url);

    echo 
preg_replace($suchmuster$ersetzungen$copyTemplate);

}

?>
</body>
</html>










 




:: Premium-Partner ::

Webhosting/Serverlösungen

PSW GROUP GmbH & Co. KG weitere Premium-Partner
 

:: SELFPHP Sponsor ::

HighText Verlag Graf und Treplin OHG weitere Sponsoren
 


:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Speichergröße eines Verzeichnisses ermitteln

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


XML-Datei einfach auslesen

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2023 E-Mail SELFPHP Inh. Damir Enseleit, info@selfphp.deImpressumKontakt