Seite 1 von 1

Leerzeichen im Amazon-BBCode-Link

Verfasst: 03.02.2006 15:56
von bcs
Hallo!

Ich will, dass, wenn man in [amazon]...[/amazon]einen Buchtitel oder eine ISBN schreibt, diese zu Amazon-Suchergebnisseite verlinkt wird und der Link so heißt, wie das, was zwischen den Klammern steht.

Amazon braucht dafür einen Link nach dem Muster:

Code: Alles auswählen

http://www.amazon.de/exec/obidos/redirect?link_code=ur2&tag=PARTNER-ID&camp=1638&creative=6742&path=external-search%3Fsearch-type=ss%26index=blended%26keyword=SUCHWORT
Ich habe mal versucht, einen Ähnlichen Code wie nachfolgend anzupassen (gehört nach bbcode.php):

Code: Alles auswählen

$text = preg_replace('/\[amazon\](.*?)\[\/amazon\]/ie', "'<a href=\"http://www.amazon.de/exec/obidos/redirect?link_code=ur2&tag=PARTNER-ID&camp=1638&creative=6742&path=external-search%3Fsearch-type=ss%26index=blended%26keyword='.rawurlencode('$1').'\" />(.*?)</a>'", $text); // amazon
Es treten noch zwei Probleme auf:

1. Befinden sich in dem Suchstring Leerzeichen (wie es bei Sonderzeichen usw. ist, weiß ich nicht), wird noch nicht automatisch das %20 für die Leerzeichen eingefügt.

Code: Alles auswählen

http://www.amazon.de/exec/obidos/redirect?link_code=ur2&tag=PARTNER-ID&camp=1638&creative=6742&path=external-search%3Fsearch-type=ss%26index=blended%26keyword=Mathe%20Physik
2. Als Linktext wird noch (.*?) angezeigt. Ich dachte, das wäre eine Art Variable dafür, stimmt aber wohl nicht.

--

Anmerkung: Ich weiß, dass es schon einige Amazon-Mods gibt, ich will aber nicht mit ISBNs arbeiten, sondern mit Suchergebnisseiten!

Danke!

Verfasst: 03.02.2006 17:13
von miccom
hast du dir das schon angesehen?:
http://www.phpbbhacks.com/download/1218

Verfasst: 03.02.2006 17:56
von bcs
Ja, das will ich ja gerade nicht. Ich will ja nur, dass aus [amazon]Steuerrecht in Deutschland[/amazon] etwas wird der Art

Code: Alles auswählen

<a href="www.amazon.de?searchfor=Steuerrecht%20in%20Deutschland">Steuerrecht in Deutschland</a>
Was zu obiger Lösung noch fehlt ist das Einfügen von %20 für die Leerstellen und der Linktext.
## MOD Beschreibung: Mit diesem MOD kann man als Nutzer des Amazon.de Partnerprogramms ASINs und ISBNs innerhalb eines Beitrages
## posten. Dazu wird beim Schreiben des Beitrages in ein neues Feld einfach die ASIN oder ISBN des Artikels
## eingetragen. Daraus wird beim Betrachten des Beitrages dann ein entsprechender Link zu diesem Artikel bei
## Amazon.de generiert und zusätzlich (falls für diesen Artikel verfügbar) auch ein Bildlink zu dem Artikel im
## Beitragsfuß angezeigt.

Verfasst: 03.02.2006 19:50
von bcs
Es scheint zu funktionieren mit

Code: Alles auswählen

    $text = preg_replace('/\[amazon\](.*?)\[\/amazon\]/ie', "'<a href=\"http://www.amazon.de/exec/obidos/redirect?link_code=ur2&tag=PARTNER-ID&camp=1638&creative=6742&path=external-search%3Fsearch-type=ss%26index=blended%26keyword='.rawurlencode('$1').'\" target=\"_new\" />'.'$1'.'</a />'", $text); // amazon
Ich kenn mich mit PHP nicht richtig aus. Sind diese ganzen / und \ und ' ' richtig gesetzt?