PHP Profis – bitte melden!

19. Januar 2009 · 36 Kommentare ·

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?

Ähnliche Beiträge

  1. J’aime beaucoup des pommes. – Was bitte!?
  2. Öffnen mit… Menü aufräumen!
  3. Mehr Platz bitte!
  4. Den Google Kalender auf dem Schreibtisch
  5. MacHeist Bundle jetzt mit Tweetie 2?

{ 35 Kommentare… lese sie unten oder schreibe selbst einen }

@admartinator 19. Januar 2009

PHP Freaks – bitte mal helfen. Kleines Problem auf Apfelquak: http://tinyurl.com/7wfr6h

Antworten

Mario 19. Januar 2009

Hiermit würdest du prüfen ob die Url mit twitter.com beginnt:

if (preg_match(‘/^http:\/\/twitter.com\//’, $comment->comment_author_url))

Antworten

sebastian 19. Januar 2009

if (stristr($comment->comment_author_url, “http://twitter.com/”)) {

}

damit checkst du ob der string hinten in der variable vorne vorkommt…

Antworten

sebastian 19. Januar 2009

und bitte kein preg_match (oder dergleichen) nutzen, das braucht für die kleine Abfrage unnötig viel Ressourcen :)

Antworten

Mario 19. Januar 2009

@sebastian: Hast ja recht, aber der Perl-Coder kann halt nicht anders ;-)

Antworten

rbq 19. Januar 2009

Probier mal:

if (preg_match(‘/^http:\/\/twitter.com/’, $comment->comment_author_url)) {…}

Antworten

sebastian 19. Januar 2009

Ja irgendwie dacht’ ich mir das schon…
Perl-Coder kommen direkt immer mit Regulären Ausdrücken daher :)

Antworten

Burntime 19. Januar 2009

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

Antworten

rbq 19. Januar 2009

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.

Antworten

Sascha 19. Januar 2009

@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

Antworten

ad 19. Januar 2009

Ich wusste – auf euch ist Verlass! :upten:

Der Vorschlag von Sebastian funktioniert einwandfrei. Vielen Dank.

Antworten

Burntime 19. Januar 2009

Ja twitter benutzt das www prefix nicht. Gib doch mal http://www.twitter.com ein und schau was passiert.

Antworten

sebastian 19. Januar 2009

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 :)

Antworten

Fabian Pimminger 19. Januar 2009

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 :D

Antworten

ad 19. Januar 2009

Kommentar 1 ist übrigens gerade als Tweetback reingerauscht. Muss jetzt nur noch den Steve gegen einen Vogel austauschen. :hehehe:

Antworten

Burntime 19. Januar 2009

Ohja wollte schon fragen ob du den Vogel in die ecke machst :D

Und aus quakte müste eigentlich twitterte werden ;)

Antworten

CiT 19. Januar 2009

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! ;)

Antworten

ad 19. Januar 2009

So – der Piepmatz ist drin.

@CiT: ja, die Gefahr besteht. Aber einen Test ist es wert. Abschalten kann man es immer noch.

Danke nochmal!

Antworten

ad 19. Januar 2009

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.

Antworten

@bugajewski 19. Januar 2009

Tweetback spamming is so great! http://tinyurl.com/7wfr6h

Antworten

@bugajewski 19. Januar 2009

I really like to say unnecessary things… especially if I’m at work. http://tinyurl.com/7wfr6h

Antworten

Rafael Bugajewski 19. Januar 2009

Hm, also ich sehe hier auch eine ziemlich große Spam-Gefahr. Zu einfach ist es einen “Kommentar” zu hinterlassen.

Antworten

ad 19. Januar 2009

Ist dir langweilig, Rafa?

Antworten

Rafael Bugajewski 19. Januar 2009

Ich muss schließlich etwas für mein Geld machen ;-)

Antworten

Christoph 19. Januar 2009

aha, ah dann muss ich ja nicht mehr ran. fein.

braucht man tweetbacks… macht das sinn? ich zeige wirkliches interesse…

Antworten

ad 19. Januar 2009

Nee, braucht man nicht. Aber nice to have. ;)

Antworten

Christoph 19. Januar 2009

was ich gerade sehe. bei den twitbacks ist aber nicht der hintergrund unterschiedlich….

Antworten

ad 19. Januar 2009

Bei mir schon. Cache?

Antworten

Oliver 2. Februar 2009

@ad: Und wie hast du das mit den Gravatar-Icons gemacht?

Antworten

ad 2. Februar 2009

@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.

Antworten

ad 17. Februar 2009

Komischerweise funktioniert das Plugin nicht mehr. Seltsam.
Ob das an 2.7.1 liegt?

Antworten

@apfelquak 17. Februar 2009
Christoph 17. Februar 2009

bei mir läuft es mit 2.7.1

Antworten

ad 17. Februar 2009

Hier kommt nix mehr an. Merkwürdig. Hast du auch die 0.2?

Antworten

ad 17. Februar 2009

Och. Da schau her. Geht wieder. :-?

Antworten

{ 1 Trackback }

Schreibe einen Kommentar

Smilies gefällig?

Previous post:

Next post: