2009-03-06 9 views
5

Ich habe einen Feed von meinem Twitter-Profil oben auf meiner Website, aber ich habe mich gefragt, ob es eine Möglichkeit gibt, meine @Antworten herauszufiltern und nur meine Statusaktualisierungen anzuzeigen?@ Antworten in einem Twitter-Feed filtern?

Dank

+3

Ja, ganz einfach in der Tat. Aber Twitter wird wütend, wenn Sie es tun. Wir werden dich dem großen Twitter-Vogel opfern müssen, damit wir alle seinen schrecklichen Zorn fühlen. – Shog9

Antwort

4

Wenn Sie den standardmäßigen Twitter-Feed-Webcode für Blogger und ähnliche Websites verwenden, wird dieses kleine Javascript-Feature hilfreich sein. Es befindet sich zwischen dem Twitter-Feed und dem Rückruf und löscht Antworten aus der Serverantwort.

Für ein Blog-Badge endet der Standard-Twitter-Webcode mit zwei <script> Tags. Der erste bietet die Funktion, die Ihre Tweets anzeigt. Der zweite fragt Twitter nach den Tweets, die angezeigt werden sollen.

Fügen Sie dieses Skript zu Ihrem Code vor der Twitter-Abfrage hinzu. Es bietet eine neue Funktion namens filterCallback, die @ replies von der Twitter-Antwort entfernt.

Die Twitter-Abfrage selbst hat einen Parameter, der angibt, welche Funktion aufgerufen werden soll, wenn die Antwort zurückkommt. Im Fall von Blogger heißt diese Funktion "twitterCallback2" - Sie können im Webcode danach suchen (suchen Sie nach callback=twitterCallback2). Um den neuen Filter zu verwenden, müssen Sie den Text twittercallback2 durch filterCallback ersetzen. Der Filter ist hart codiert, um dann twitterCallback2 aufzurufen, wenn es fertig ist.

Beachten Sie, dass dies die Anzahl der angezeigten Tweets reduziert, wenn einige der Antworten von Twitter Antworten sind. Daher müssen Sie den Anzahl-Parameter im Aufruf erhöhen, um dies zu ermöglichen. Die neue Funktion begrenzt dann die Anzahl der angezeigten Antworten auf fünf - bearbeiten Sie den Code, um dies zu ändern.

Hier ist mein Blog-Post über sie: Filter Replies out of Twitter Feed

+0

Großartig, vielen Dank! – bbeckford

+0

Wie bekomme ich die ersten zwei Tweets ohne @Reply von diesem? – Miuranga

0

Hängt davon ab, was Sie verwenden, um die Einträge anzuzeigen. Wenn Sie das Widget von Twitter verwenden, dann wahrscheinlich nicht. Wenn Sie eine andere programmatische Methode zum Anzeigen der Elemente verwenden, müssen Sie weitere Details zu Ihrer Arbeit angeben (Sprache, Beispielcode usw.), und wir können Ihnen wahrscheinlich beim Filtern helfen.

0

Wahrscheinlich möchten Sie einen regulären Ausdruck verwenden. Etwas in der Form von:

[a-zA-Z0-9][a-zA-Z0-9]*: @[a-zA-Z0-9][a-zA-Z0-9]*.* 

Je nachdem, wie Sie Ihren Twitter-Feed auf Ihrer Seite formatieren. Dieser Regex setzt voraus, dass Sie so etwas formatiert haben:

Wenn es übereinstimmt, zeigen Sie es nicht an. Wenn es nicht übereinstimmt, dann zeige es an. :) Wenn Sie Tags zusammen mit dem Text haben, passen Sie die Regex entsprechend an.

3

Wenn Sie die neuen Twitter-Widgets verwenden möchten, fügen Sie einfach dieses Stück Code innerhalb der features: Einstellung des Quellcodes des Widgets:

filters: { 
    negatives: /\[email protected]\w{1,20}(\s+|$)/ 
}, 

I nahm diese von Dustin Diaz Website unter . Dustin Diaz ist der Schöpfer des Twitter-Widgets.

1

Ändern Sie den setUser Aufruf

setUser('name&exclude_replies=true'); 

Diese Art von Hack, aber es funktioniert der Trick