ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Code Hack Requests / Amazon Verdienst Hack fürs Thwb


Seite 1 von 2 – nächste Seite >>

Luki schrieb am 19.02.2003 um 19:50 Uhr

Hehe,

tja ich lasse mal wieder meine Phantasie spielen und habe folgende Idee:

Wenn jemand in meinem Forum ein Verweis auf ein Amazon Produkt setzt sieht das so aus:

http://www.amazon.de/exec/obidos/ASIN/3898641988/qid=1045679126/sr=2-1/ref=sr_aps_prod_1_1/028-2980047-1495734

Ich bräuchte einen Hack, damit alles hinter ASIN/****/ also das hier abgeschnitten wird und dafür meine ID gesetzt wird...

hat jemand eine Idee? Interesse?

:D

Luki schrieb am 19.02.2003 um 19:51 Uhr

Wie würde sowas als MySQL Befehl aussehen?

Also suche nach Amazon http://www.amazon.de/exec/obidos/ASIN/******/ und ersetze durch http://www.amazon.de/exec/obidos/ASIN/******/bla

würde schon enorm helfen!

MAGIX schrieb am 19.02.2003 um 20:33 Uhr

du kannst nach ASIN/ suchen und mit Replace kann man Zeichen erstzen aber mit Zeichenketten weiss ich es auch nicht. ich hab uebrigens im hack forum das gleich Problem nachgefragt :=

seikeinfloh schrieb am 10.03.2003 um 14:58 Uhr

Reguläre Ausdrücke könnten da weiterhelfen... *grübel*

Luki schrieb am 23.07.2003 um 21:54 Uhr

okay, ich gebe mal eine kleine Hilfe:

$str = "http://www.Amazon.de/exec/obidos/ASIN/3898641988/qid=1045679126/sr=2-1/";
  preg_match_all("=/ASIN/(.*)/=siU", $str, $a);
  $asin = $a[1][0];
  echo "http://www.amazon.de/exec/obidos/ASIN/$asin/eureID/";

vieleicht ist das ja ein Ansatz! =)
der beschriebene Code macht setzt bei einem Amazon Link eure ID dazu :)
nur wo und wie einbauen... :?

theDon schrieb am 24.07.2003 um 20:03 Uhr

$str = preg_replace("/http://www.Amazon.de/exec/obidos/ASIN/([0-9]+)/(.*)/Usi", 'http://www.amazon.de/exec/obidos/ASIN/$1/eureID/', $str);

/edit
jetzt sollte es gehen.
edit/

Luki schrieb am 25.07.2003 um 11:43 Uhr

mmh, ne so nicht, ich habe zwar auch das Gefühl, das ich mal wieder eine umständliche Form gespostet habe, aber deine hat irgendwo ein Fehler ;)

gfc schrieb am 25.07.2003 um 12:22 Uhr

klar hat sie die.. er extrahiert die ASIN aus dem ersten string ned ;)

Luki schrieb am 25.07.2003 um 14:42 Uhr

$string = str_replace("http://www.amazon.de/exec/obidos/ASIN/([0-9]+)/Usi", 'http://www.amazon.de/exec/obidos/ASIN/$1/eureID/', $string);

okay, so könnte es aussehen, da stimmt aber immer noch nicht alles!??? Idee?
btw. ich bevorzuge str_replace ;)

theDon schrieb am 25.07.2003 um 16:46 Uhr

mit str_replace wird das aber nicht gehen.

Luki schrieb am 25.07.2003 um 16:49 Uhr

mit preg_replace bekomme ich allerdings immer nur ein weisses Bild...
auf jeden Falls klappts mit beiden Möglichkeiten irgendwie noch nicht...

ich habe den Code aus meinem vorherigen post mal in die functions.inc.php eingebaut... - nothing happens...

gfc schrieb am 25.07.2003 um 18:12 Uhr

und wie wärs mit ner Formular/Tagbar lösung??

Sprich n Knopf "amazon einfügen" und dort per Javascript die ANSI abfragen lassen und per variable in den Link einsetzen? bin leider nicht @home, so dass ich es verwirklichen könnte..

theDon schrieb am 25.07.2003 um 21:46 Uhr

uh, da war noch nen fehler drin.

Luki schrieb am 26.07.2003 um 11:53 Uhr

theDon postete

$str = preg_replace("/http://www.Amazon.de/exec/obidos/ASIN/([0-9]+)/(.*)/Usi", 'http://www.amazon.de/exec/obidos/ASIN/$1/eureID/', $str);

/edit
jetzt sollte es gehen.
edit/

@thedon
ich habe das ganze mal in die functions.inc.php eingebaut, bekomme allerdings jedesmal nur eine weisse Seite!?
mit str_replace ist das ganz irgendwie wirkungslos...

idea?

theDon schrieb am 26.07.2003 um 14:36 Uhr

verdammt noch mal, str_replace unterstützt keine regular expressions
wenn du mit str_replace etwas ersetzen willst, dann brauchst du den konkreten text.

Luki schrieb am 28.07.2003 um 11:56 Uhr

anyway it doesn't work! :(

theDon schrieb am 28.07.2003 um 15:30 Uhr

oh fsck.
du musst natürlich die / im link escapen.

mach ein \/ draus, dann sollte es passen.

Luki schrieb am 11.08.2003 um 11:46 Uhr

Ahoi!

wäre cool, wenn du das ganze nochmal im Klartext posten könntest, irgendwie will es immer noch nicht... :?

theDon schrieb am 11.08.2003 um 16:32 Uhr

$str = preg_replace("/http:\/\/www.amazon.de\/exec\/obidos\/ASIN\/([0-9]+)\/(.*)\/Usi", 'http://www.amazon.de/exec/obidos/ASIN/$1/eureID/', $str);

Luki schrieb am 11.08.2003 um 17:53 Uhr

Code scheint mir richtig, aber ich gebs auf...

entweder baue ich den falsch ein oder da ist mal wieder irgendwas, was ich übersehe... :/

bekommt es sonst jemand hin?

trotzdem vielen Dank!

theDon schrieb am 11.08.2003 um 20:18 Uhr

rah, ausversehen einen / zuviel escaped.

$str = preg_replace("/http:\/\/www.amazon.de\/exec\/obidos\/ASIN\/([0-9]+)\/(.*)/Usi", 'http://www.amazon.de/exec/obidos/ASIN/$1/eureID/', $str);

[/quote]

Luki schrieb am 11.08.2003 um 21:36 Uhr

yipii, so funktioniert das!!

Korrektur 1
btw. die ASIN besteht nicht nur aus Zahlen sondern auch zum Teil aus GROSSEN BUCHSTABEN!!!

Korrektur 2
könnte man den ganzen Kram hinter der ASIN **** entfernen also in dem unteren Beispiel qid=1045679126/sr=2-1/ref=sr_aps_prod_1_1/028-2980047-1495734 entfernen? (macht die Links sauberer, danach ist er reif für's Hackforum =)

http://www.amazon.de/exec/obidos/ASIN/3898641988/qid=1045679126/sr=2-1/ref=sr_aps_prod_1_1/028-2980047-1495734

Danke!

theDon schrieb am 12.08.2003 um 01:21 Uhr

$str = preg_replace("/http:\/\/www.amazon.de\/exec\/obidos\/ASIN\/([A-Z0-9]+)\/(.*)/Usi", 'http://www.amazon.de/exec/obidos/ASIN/$1/eureID/', $str);

weglassen (falls ich das, was du weg haben willst, richtig verstanden hab):

$str = preg_replace("/http:\/\/www.amazon.de\/exec\/obidos\/ASIN\/([A-Z0-9]+)\/(.*)/Usi", 'http://www.amazon.de/exec/obidos/ASIN/eureID/', $str);

Luki schrieb am 12.08.2003 um 10:25 Uhr

h**p://www.amazon.de/exec/obidos/ASIN/3898641988/eureID/qid=1045679126/sr=2-1/ref=sr_aps_prod_1_1/028-2980047-1495734

mmh also ich hätte am liebsten den roten Kram hinter der generierten URL entfernt!

theDon schrieb am 12.08.2003 um 12:03 Uhr

$str = preg_replace("/http:\/\/www.amazon.de\/exec\/obidos\/ASIN\/([A-Z0-9]+)\/.*?/Usi"", 'http://www.amazon.de/exec/obidos/ASIN/$1/eureID/', $str);

Seite 1 von 2 – nächste Seite >>