Twitter-Tweets wie auf webedition.org

Fragen zu PHP.
Fragen zu we:Tags bitte im Forum webEdition Templates erstellen (we:Tags) posten.
Jörn-Bernd
Member
Beiträge: 88
Registriert: Do 27. Nov 2008, 23:21

Twitter-Tweets wie auf webedition.org

Beitragvon Jörn-Bernd » Mo 24. Okt 2011, 22:33

Hallo zusammen,

ich suche eine Möglichkeit die Timeline der Twitter-Tweets mit PHP auszugeben, so wie auf webedition.org ("News via Twitter").
Wie ist das gelöst?

bolleone
Senior Member
Beiträge: 601
Registriert: So 4. Jul 2004, 00:24
Wohnort: Düsseldorf
Kontaktdaten:

Re: Twitter-Tweets wie auf webedition.org

Beitragvon bolleone » Di 25. Okt 2011, 07:35

die einfachste Lösung ist die Ausgabe eines twitter-rss-feeds. das ist sogar mit we-bordmitteln möglich.
multimediadesign.net · Atelier für Kommunikation
Grimmstr. 3 · 40235 Düsseldorf
Telefon ++49-211-4981791 · Telefax ++49-211-4981792
http://www.multimediadesign.net · bolle@multimediadesign.net

ThomasGoebe

Re: Twitter-Tweets wie auf webedition.org

Beitragvon ThomasGoebe » Di 25. Okt 2011, 10:43

So in der Art machen wir das in der webEdition.org auch. Wir greifen den RSS-Feed auf und filtern dann noch einmal.

Es kommen da zwar aus Bequemlichkeit (die Lösung war so 1:1 schon im Einsatz) noch ein paar andere PHP-Klassen zum Einsatz, doch im Prinzip sollte es mit webEdition Boardmitteln gehen.

Gruß
Thomas

Jörn-Bernd
Member
Beiträge: 88
Registriert: Do 27. Nov 2008, 23:21

Re: Twitter-Tweets wie auf webedition.org

Beitragvon Jörn-Bernd » Di 25. Okt 2011, 18:21

Hallo zusammen,

vielen Dank für eure Hilfe!

Mir ist es etwas peinlich nachzufragen, aber was heißt denn "mit webEdition Boardmitteln"?
Für einen kleinen Denkanstoß bedanke ich mich im Voraus.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Twitter-Tweets wie auf webedition.org

Beitragvon mokraemer » Di 25. Okt 2011, 21:59

Denkanstoß:
http://webedition.org/de/webedition-cms ... nz/xmlfeed
http://webedition.org/de/webedition-cms ... nz/xmlnode

Das blöde/gute an RSS ist, das man sich im XML-Baum bewegt/bewegen muß - es gibt also kein Tag: gib mir das Richtige aus dem RSS-Feed
webEdition-Kern-Entwickler

Jörn-Bernd
Member
Beiträge: 88
Registriert: Do 27. Nov 2008, 23:21

Re: Twitter-Tweets wie auf webedition.org

Beitragvon Jörn-Bernd » Mi 26. Okt 2011, 19:26

Ja, alles klar.
Vielen Dank für den Denkanstoß!

Jörn-Bernd
Member
Beiträge: 88
Registriert: Do 27. Nov 2008, 23:21

Re: Twitter-Tweets wie auf webedition.org

Beitragvon Jörn-Bernd » Mo 31. Okt 2011, 20:14

Ich bräuchte noch mal Hilfe.

Ich lese mir meine Tweets jetzt so aus:

Code: Alles auswählen

<?php
$tUsername = 'MyTwitterUsername'; // Username Twitter
$tQuantity   = 2; // Anzahl der Tweets
$tweets = simplexml_load_file('http://www.twitter.com/status/user_timeline/'.$tUsername.'.xml');
function linkify_tweet($v)
{
	$v = ' ' . $v;
	$v = preg_replace("/#(\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\">#\\1</a>", $v);
	$v = preg_replace('/(^|\s)@(\w+)/', '\1@<a href="http://www.twitter.com/\2">\2</a>', $v);
	$v = preg_replace('/(^|\PL\/u)#(\w+)/', '\1#<a href="http://search.twitter.com/search?q=%23\2">\2</a>', $v);
	$v = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t<]*)#ise", "'\\1<a href=\"\\2\" >\\2</a>'", $v);
	$v = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#ise", "'\\1<a href=\"http://\\2\" >\\2</a>'", $v);
	$v = preg_replace("#(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $v);
		return trim($v);
	}
?>
<div class="twitter">
		<h2><a href="http://www.twitter.com/<?= $tUsername ?>"><?= '@'.$tUsername.'' ?></a></h2>
	<?php
		$i = 0;
		while($i <= $tQuantity){
		$tText = $tweets->status{$i}->text;
		$tDate = date("j.m.y \- G:H",strtotime($tweets->status{$i}->created_at));
	?>
	<div class="tweet">
		<p class="tweet-text"><?= linkify_tweet($tText) ?></p> 			
		<p class="tweet-date"><?= $tDate ?></p>
	</div>
	<?php
	$i++;
	}
	?>
</div>
Das klappt auch so weit, hab auch eine PHP-Funktion gefunden, die Hashtags und Co. in den Tweets in Links umwandelt.
So weit alles gut.

Leider machen mir aber Hashtags Probleme die Umlaute enthalten.
Also z.B. wird aus "#Törtchen" "#T��rtchen".
Ich hab´s in der Funktion schon mit "PL" probiert, hat aber nichts gebracht.

Weiß jemand woran das liegt und kann mir jemand helfen?

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Twitter-Tweets wie auf webedition.org

Beitragvon mokraemer » Di 1. Nov 2011, 13:39

das klingt so, als würdest du auf einer ISO-Seite einen UTF-8 formatierten Feed auslesen. Da mußt du dann noch den Zeichensatz konvertieren.
webEdition-Kern-Entwickler

Jörn-Bernd
Member
Beiträge: 88
Registriert: Do 27. Nov 2008, 23:21

Re: Twitter-Tweets wie auf webedition.org

Beitragvon Jörn-Bernd » Di 1. Nov 2011, 17:24

Danke für deine Antwort.

Müssten denn dann aber nicht alle Umlaute "kaputt" sein?
Im Moment trifft das aber nur auf Hashtags zu. Alle anderen Umlaute (ü,ö,ß) werden richtig dargestellt.

Wenn ich die beiden Zeilen

Code: Alles auswählen

//$v = preg_replace("/#(\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\">#\\1</a>", $v);
...
//$v = preg_replace('/(^|\PL\/u)#(\w+)/', '\1#<a href="http://search.twitter.com/search?q=%23\2">\2</a>', $v);
einkommentiere, steht da dann auch "#Törtchen", nur eben dann nicht verlinkt.

Noch einer eine Idee?

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Twitter-Tweets wie auf webedition.org

Beitragvon mokraemer » Di 1. Nov 2011, 18:49

\PL sagt mir auf anhieb nichts, aber ob \w auf Umlaute anspricht?? Ich meine \w ist äquivalent zu a-zA-Z_ - da fehlen Umlaute und ß - Zahlen sind glaube ich auch nicht dabei - ich denke du bist mit etwas wie #([^"/> ]*) besser bedient.
webEdition-Kern-Entwickler

Jörn-Bernd
Member
Beiträge: 88
Registriert: Do 27. Nov 2008, 23:21

Re: Twitter-Tweets wie auf webedition.org

Beitragvon Jörn-Bernd » Di 1. Nov 2011, 22:13

Danke für den Tipp. Den probiere ich morgen mal.

Jörn-Bernd
Member
Beiträge: 88
Registriert: Do 27. Nov 2008, 23:21

Re: Twitter-Tweets wie auf webedition.org

Beitragvon Jörn-Bernd » Mi 2. Nov 2011, 09:25

Ich habe es jetzt so probiert:

Code: Alles auswählen

	$v = preg_replace("/#([^\"\/> ]*)/", "<a href=\"http://search.twitter.com/search?q=\\1\">#\\1</a>", $v);
	$v = preg_replace('/(^|\s)@(\w+)/', '\1@<a href="http://www.twitter.com/\2">\2</a>', $v);
	$v = preg_replace('/([^\"\/> ]*)#(\w+)/', '\1#<a href="http://search.twitter.com/search?q=%23\2">\2</a>', $v);
	$v = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t<]*)#ise", "'\\1<a href=\"\\2\" >\\2</a>'", $v);
	$v = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#ise", "'\\1<a href=\"http://\\2\" >\\2</a>'", $v);
	$v = preg_replace("#(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $v);
Die "Fragezeichen" in den Hashtags bleiben, alle anderen Umlaute sehen gut aus.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Twitter-Tweets wie auf webedition.org

Beitragvon mokraemer » Do 3. Nov 2011, 03:05

so war die Zeile doch auch nicht gemeint:

Code: Alles auswählen

$v = preg_replace('/([^\"\/> ]*)#(\w+)/', '\1#<a href="http://search.twitter.com/search?q=%23\2">\2</a>', $v);
eher

Code: Alles auswählen

$v = preg_replace('/#([^\"\/> ]*)/', '#<a href="http://search.twitter.com/search?q=%23\1">\1</a>', $v);
aber ob das nun wirklich der Fehler ist...??
webEdition-Kern-Entwickler

Jörn-Bernd
Member
Beiträge: 88
Registriert: Do 27. Nov 2008, 23:21

Re: Twitter-Tweets wie auf webedition.org

Beitragvon Jörn-Bernd » Do 3. Nov 2011, 20:11

Danke!
mokraemer hat geschrieben:

Code: Alles auswählen

$v = preg_replace('/#([^\"\/> ]*)/', '#<a href="http://search.twitter.com/search?q=%23\1">\1</a>', $v);
Ich habe das jetzt mal probiert. Leider will das immer noch nicht klappen.
Das Ergebnis ist jetzt "#T?<a/>?rtchen".

Der Link des Hashtags wird begrenzt auf "#T?<" und verlinkt entsprechend auf "http://search.twitter.com/search?q=#T?<".
Hat noch einer eine Idee?

AndreasWitt

Re: Twitter-Tweets wie auf webedition.org

Beitragvon AndreasWitt » Mo 25. Jun 2012, 17:48

@all: ab Version 6.3.3 bzw. nighly build kann man auch die Attribute "to" und "nameto" bei <we:xmlfeed> und <we:xmlnode> nutzen und dann lässt sich folgendes nutzen:

Code: Alles auswählen

<we:xmlfeed name="twitter" url="http://twitter.com/statuses/user_timeline/webEditionBuch.rss" refresh="30" />
<we:xmlnode xpath="item[position()<4]">
    <we:xmlnode xpath="link" to="global" nameto="twitterFeedURL"></we:xmlnode>
    <we:xmlnode xpath="title" to="global" nameto="twitterFeedTitle"></we:xmlnode>
    <?php
    // ersetze Links in Tweets durch "richtige Links"
    $pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
    $GLOBALS['twitterCustomFeed'] = preg_replace($pattern,"\\1<a href=\"\\2\\3\" target=_blank>\\2\\3</a>\\4",$GLOBALS['twitterFeedTitle']);
    // ersetzte den TweetAccount Namen durch den Permalink zum aktuellen Tweet
    $GLOBALS['twitterFeedTitle'] = str_replace("webEditionBuch", "<a href=\"".$GLOBALS['twitterFeedURL']."\" target=\"_blank\">webEditionBuch</a>", $GLOBALS['twitterFeedTitle']);
    ?>
    <li>
        <small><we:var type="global" name="twitterCustomFeed"/></small>
    </li>
</we:xmlnode>


Zurück zu „PHP“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste