Twitter ist in aller Munde und macht auch vor dem Froschteich nicht halt. Mit dem WordPress-Plugin Tweetback kann man Tweets anzeigen lassen, die auf einen Artikel verweisen – ähnlich wie ein Trackback, daher auch der Name. Das funktioniert soweit ganz gut, bis auf die Darstellung. Die mag mir noch nicht so recht gefallen. Hier in den Kommentaren seht ihr meine Ergüsse mit einem anderen Hintergrund und dem kleinen Steve rechts unten in der Ecke gekennzeichnet. So etwas in der Art hätte ich gerne auch für die Tweetbacks.
Bei meinen Kommentaren funktioniert das wie folgt (Klammern vom PHP lasse ich weg, sonst Kuddelmuddel hier im Beitrag):
php if ($comment->comment_author_email == "mailadresse@gehtkeinenwas.an") echo 'admin'
Hierbei ist die Mailadresse klar definiert. Bei den Tweetbacks ist die URL jedoch ständig anders, zum Beispiel
http://twitter.com/admartinator/statuses/1128025251
Hier ist also lediglich die Domain stets gleich. Wenn ich aber…
php if ($comment->comment_author_url == "http://twitter.com/") echo 'tweetback'
…eingebe, funktioniert die Formatiererei nicht. Hinter der Domain müsste also noch ein Platzhalter hin. Nun die Frage – sicher ganz einfach – wie macht man das?
{ 35 Kommentare… lese sie unten oder schreibe selbst einen }
PHP Freaks – bitte mal helfen. Kleines Problem auf Apfelquak: http://tinyurl.com/7wfr6h
Hiermit würdest du prüfen ob die Url mit twitter.com beginnt:
if (preg_match(‘/^http:\/\/twitter.com\//’, $comment->comment_author_url))
if (stristr($comment->comment_author_url, “http://twitter.com/”)) {
}
damit checkst du ob der string hinten in der variable vorne vorkommt…
und bitte kein preg_match (oder dergleichen) nutzen, das braucht für die kleine Abfrage unnötig viel Ressourcen
@sebastian: Hast ja recht, aber der Perl-Coder kann halt nicht anders
Probier mal:
if (preg_match(‘/^http:\/\/twitter.com/’, $comment->comment_author_url)) {…}
Ja irgendwie dacht’ ich mir das schon…
Perl-Coder kommen direkt immer mit Regulären Ausdrücken daher
Naja ich glaube mit den == wirst du nicht weit kommen, wie du schon gemerkt hast ändert sich da ja immer was. Ich könnte mir denken du kannst das mit einen stristr[1] suchen, also ob twitter.com in der url vorkommt. Wenn ja bekommst du ein true zurück und kannst dein echo “tweetback” machen.
[1] http://us2.php.net/stristr
Also ich würde preg_match verwenden, nicht stristr. Der reguläre Ausdruck den Mario und ich vorschlugen checkt nämlich jeweils, ob http://twitter.com bzw. http://twitter.com/ am _Anfang_ der Zeichenkette vorkommt. Wenn der hintere Teil irgendwie im entferntesten etwas mit Benutzereingaben zu tun hat, kann das durchaus einen Unterschied machen.
@sebastian: ist auch gar nicht mal so dumm mit einem regulären Ausdruck zu arbeiten. Ist natürlich nun die Frage, ob der Tweetback immer ohne ein “www.” rein kommt
Ich wusste – auf euch ist Verlass!
Der Vorschlag von Sebastian funktioniert einwandfrei. Vielen Dank.
Ja twitter benutzt das www prefix nicht. Gib doch mal http://www.twitter.com ein und schau was passiert.
Reguläre Ausdrück sind spitze, da gibts nicht zu streiten. Wenn ich die Abfrage aber auch mit “normalen” String-Vergleichen machen kann, ist diese Methode den regulären Ausdrücken vorzuziehen.
Aber bevor das hier in einer Grunsatzdiskussion ‘String-Vergleiche vs. RegExp’ endet, belassen wir es einfach dabei dass es nun mehrere Möglichkeiten gibt die Abfrage entsprechend umzubauen
versuchs mal damit
if (preg_match(“/twitter.com/i”, $comment->comment_author_url)) {
echo ‘tweetback’;
}
edit: oh, da waren wohl jetzt doch einige vor mir
Kommentar 1 ist übrigens gerade als Tweetback reingerauscht. Muss jetzt nur noch den Steve gegen einen Vogel austauschen.
Ohja wollte schon fragen ob du den Vogel in die ecke machst
Und aus quakte müste eigentlich twitterte werden
Wenn es das Plugin ist, für welches ich es halte, rate ich dir davon ab. Wieso? Suche mal nach tweetback spam. Problem an der Sache ist, du müllst dir deine Kommentar-Datenbank zu.
Subjketiver Kommentar eines verirrten Surfers ;D
Natürlich habe ich eine Alternativ, bin aber gerade auf’m Sprung, ich twitter dich an!
So – der Piepmatz ist drin.
@CiT: ja, die Gefahr besteht. Aber einen Test ist es wert. Abschalten kann man es immer noch.
Danke nochmal!
Ich musste das Ganze eben noch mal ändern. Grund: habe eben einen User gefunden, der eine Twitter-URL als Homepage angegeben hat. Das wird dann dummerweise auch so formatiert.
Ich werte jetzt nach der Mailadresse aus – die ist bei Tweetbacks username@tweetback – ich schau also, ob @tweetback enthalten ist. Die Methode von Sebastian (#3) funktioniert dabei ebenso.
Tweetback spamming is so great! http://tinyurl.com/7wfr6h
I really like to say unnecessary things… especially if I’m at work. http://tinyurl.com/7wfr6h
Hm, also ich sehe hier auch eine ziemlich große Spam-Gefahr. Zu einfach ist es einen “Kommentar” zu hinterlassen.
Ist dir langweilig, Rafa?
Ich muss schließlich etwas für mein Geld machen
aha, ah dann muss ich ja nicht mehr ran. fein.
braucht man tweetbacks… macht das sinn? ich zeige wirkliches interesse…
Nee, braucht man nicht. Aber nice to have.
was ich gerade sehe. bei den twitbacks ist aber nicht der hintergrund unterschiedlich….
Bei mir schon. Cache?
@ad: Und wie hast du das mit den Gravatar-Icons gemacht?
Bei den Tweets? Die erscheinen automatisch, sofern du die Gravatar-Funktion von WordPress nutzt.
Komischerweise funktioniert das Plugin nicht mehr. Seltsam.
Ob das an 2.7.1 liegt?
Plugin Test: http://tinyurl.com/7wfr6h
bei mir läuft es mit 2.7.1
Hier kommt nix mehr an. Merkwürdig. Hast du auch die 0.2?
Och. Da schau her. Geht wieder.
{ 1 Trackback }