Blog, JavaScript / DHTML, PHP / MySQL

Last Tweet Funktion mit PHP und jQuery

WordPress Entwickler und Webdesigner

Hier ein Wunsch-Tutorial: Letzten Tweet aus der Twitter Timeline auslesen und via AJAX in eine Webseite laden. Tim P. hatte mir heute eine Email geschrieben, wie ich die Last Tweet Funktion auf meiner Webseite (www.pascal-bajorat.de) realisiert habe. Hier also die Lösung die ich mir zusammen gebastelt habe:

Anzeige:




Der PHP-Code:

<?php
// PHP Header senden um das Dokument als UTF-8 HTML Dokument auszuweisen
header('Content-Type: text/html; charset=UTF-8');
 
// Variable mit der URL zu meiner Twitter Timeline als XML-Datei
$TimelineXML = 'http://www.twitter.com/status/user_timeline/Alpher_de.xml';
// XML-Feed laden und in der Variable $Twitter speichern
// Das @ verhindert eine PHP Fehlerausgabe, sollte die XML nicht erreichbar sein wird das Script durch die() abgebrochen
// und eine Fehlermeldung ausgegeben: Twitter.com ist aktuell offline.
$Twitter = @simplexml_load_file($TimelineXML) or die('Twitter.com ist aktuell offline.');
// Nun speichern wir den Wert des letzten Tweets in der Variable $Tweet
// Der Pfad status->text entspricht dem Pfad der XML Struktur
$Tweet = $Twitter->status->text;
// Hier trennen wir den Tweet in die einzelnen Wörter auf
$Tweet = explode(' ', $Tweet);
 
// Mit foreach lassen wir jetzt jedes einzelne Wort des Tweets durch eine Schleife laufen
foreach($Tweet as $t){
 
	// Wenn ein Wort http:// enthält ist es "wahrscheinlich" ein Link und die if Anweisung wird ausgeführt
	if(strstr(strtolower($t),'http://')){
		// Nun legen wir einen a Tag um das mit http:// beginnende Wort
		$t = '<a href="'.$t.'" target="_blank">'.$t.'</a>';
	}
 
	// Dann setzen wir den String wieder zusammen
	// Der Punkt (.) spielt hier eine entscheidende Rolle
	$HTMLtweet .= $t.' ';
}
 
// Jetzt geben wir den überarbeiteten Tweet aus
echo $HTMLtweet;
?>

Der jQuery Code:

// jQuery 
 
// Alles in der ready Funktion wird erst dann ausgegeben, wenn der komplette DOM geladen ist
$(document).ready(function(){
	// Über die Funktion get laden wir via AJAX die Datei last-tweet.php und übergeben ein
	$.get('last-tweet.php', function(data, textStatus, XMLHttpRequest){
		// Wenn die Variable textStatus das Wort success enthält, hat der AJAX Request geklappt
		if(textStatus=='success'){
			// Jetzt geben wir den geladenen Content aus der Variable data in dem div mit der ID #ajaxContent aus
			$('#ajaxContent').html('<p>'+data+'<\/p>');
		});
	}
});

Ich hoffe ich konnte dir Tim und auch euch anderen damit einwenig weiterhelfen. Vielleicht könnt ihr das Script ja gebrauchen. Falls es Fragen gibt, dann ab damit in die Kommentare.

Schlagworte zu diesem Artikel: , , , ,

Veröffentlicht von Pascal Bajorat

Pascal Bajorat ist Mediengestalter und arbeitet als Webdesigner / Webentwickler, Autor und Trainer in Berlin. In den vergangenen Jahren hat er sich vor allem auf das CMS WordPress und die Entwicklung von hochwertigen Webseiten und Sonderlösungen spezialisiert. Er hat den Webdesign-Podcast.de 2010 gegründet.

Webseite:

8 Antworten zu “Last Tweet Funktion mit PHP und jQuery”

  1. also nicht schlecht aber mich wurde mal interessieren wie das mit 3 News geht so das immer nur 33 gezeigt wird konntest ja dein tut mal erweitern xD were echt super

    mfg Morris

  2. ja das hab ich jetzt hin bekommen xD aber komme mit dem code nicht so weiter, denke mir das php Script soll dort hin wo der twitter feed hin soll, denk ich mal oder ? und der jQuery code hab ich ihn Head tag rein gebaut zwischen gepost ist das richtig, weil wo ich das getestet habe hat der mir nicht angezeigt

  3. @Morris
    Wenn du das ganze direkt mit PHP einbindest, dann benötigst du den jQuery Code nicht. Möchtest du den letzten Tweet allerdings via AJAX einbinden, dann müsstest du ihn schon einbinden, aber halt an deine Seite und deine ID’s anpassen.

  4. Vielen dank fuer dein Script!! Endlich eins das auch vernuenftig funktioniert.. hab schon ca 3 ausprobiert und ca eine Stunde rumgefummelt und gesucht. Du brachtest nun das Ergebniss. Danke und einen schoenen Tag wuensche ich!

    lg

Schreibe eine Antwort zu Tim P.Antwort abbrechen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Der Benachrichtigungs-Dienst wird von WordPress.com (Automattic Inc., USA ) bereitgestellt. Mit der Anmeldung akzeptierst du die Datenschutzerklärung. Die Abmeldung / Abo-Verwaltung ist jederzeit über diesen Link möglich.