8
04
2010
Wenn man bei einer MySql-Query den Ergebnis-Datensatz erst ab einem bestimmten Zeichen wiedergegeben haben möchte (hier Z.B. das Leerzeichen) dann kann man mit den Befehlen SUBSTRING und LOCATE arbeiten.
Zum Beispiel:
SELECT SUBSTRING(name, LOCATE(‘ ‘, name)+1) AS name FROM data
Kommentare : Keine Kommentare »
Kategorien : Allgemein, Mysql
15
01
2010
Googles vor einiger Zeit eingeführter Canonical-Tag funktioniert jetzt auch Domain-übergreifend. Bis vor Kurzem konnte man mithilfe des Tags Google mitteilen, wo sich “unter der eigenen Domain” der Originalcontent befindet. Nun kann man aber auch Domainübergreifende Adressen angeben.
Zum Beispiel:
Wenn der neue Originalinhalt unter http://www.domain.de/neuer-inhalt/aktuelles-datum/news.html liegt, kann man auf allen “alten” Seiten wo der gleiche Content noch auftaucht (z.B. http://www.andere-domain.de/alter-inhalt/altes-datum.html) folgendes in den Seitenheader schreiben:
<link rel="canonical" href="http://www.domain.de/neuer-inhalt/aktuelles-datum/news.html" />
Kommentare : Keine Kommentare »
Kategorien : Allgemein
10
07
2009
Amazon plant zum 15.08.2009 eine meiner Meinung nach recht komplizierte Änderung an der XML-Schnittstwelle zum Abfragen von Amazon-Daten.
Die Product Advertising API (ehemals Amazon Web Service) benötigt ab dem 15.08.2009 eine Authentifizierung sonst bekommt man keine Daten mehr ausgeliefert. Die Authentifizierungsmethode ist recht schwer zu verstehen finde ich, deshalb poste ich hier mal meine Lösung. Ist nicht gerade die eleganteste Lösung aber es müsste funktionieren. Aber ich übernehme keinen Gewähr
Die Abfrage ($api_url) ist eine Beispielabfrage und muss durch Eure eigene ersetzt werden. Aussderm müssen der “Access Key” und der “Secret Access Key” von Euch eingetragen werden.
Ganz wichtig ist dass die URL “urlencoded” sein muss. Und zwar aus dem UTF8-Zeichensatz heraus. Soll heissen erst den String (z.B. das übergebene Suchwort) nach UTF8 umwandeln und dann “urlencoden”.
Zum Beispiel:
$query_keyword = “Hängematte”;
$query_keyword = urlencode(utf8_encode($query_keyword));
Query:
http://webservices.amazon.de/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=xxx&Operation=ItemSearch&Keywords=”.$query_keyword.”&ResponseGroup=Medium&SearchIndex=Electronics&ItemPage=1
Solltet Ihr nicht aus Deutschland kommen dann muss noch die Local-Zone angepasst werden. Also in der URL und beim “$host” einfach .de durch Eure Local-Zone ersetzen.
Die Ergebnis-URL muss noch urlencoded werden und kann dann direkt z.B. mit simple_load_file geparst werden.
Also viel Spass damit und wenn es Fragen oder Anregungen gibt, immer her damit! Die Doku zur Amazon Product Advertising API ist übrigens auch recht schwer zu verstehen finde ich.
$api_url = "http://webservices.amazon.de/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=ACCESS_KEY&Sort=-price&Operation=ItemSearch&Keywords=KEYWORD&ResponseGroup=Medium&SearchIndex=SEARCH_INDEX&ItemPage=1";
#############################################################################################
## Amazon Product Advertising API Authentifizierung #########################################
#############################################################################################
function amazon_url_signer($raw_amazon_url){
$file_03_01 = $raw_amazon_url."&Version=".date("Y-m-d");
$file_03_02 = $file_03_01."&Timestamp=".str_replace(":", "%3A", str_replace("+00:00", "", gmdate("c")."Z"))."";
$file_03_03 = str_replace(",", "%2C", $file_03_02);
$file_03_04 = str_replace(";", "%3B", $file_03_03);
$file_03_05 = parse_url($file_03_04);
$file_03_06 = explode("&", $file_03_05["query"]);
asort($file_03_06);
for($i=0; $i < count($file_03_06); $i++){
$file_03_06 = implode("&", $file_03_06);
}
$uri = "/onca/xml";
$host = "webservices.amazon.de";
$method = "GET";
$file_03_07 = $method."\n".$host."\n".$uri."\n".$file_03_06;
$file_03_08 = base64_encode(hash_hmac('sha256',$file_03_07,'SECRET_KEY',true));
$file_03_09 = str_replace("%7E", "~", rawurlencode($file_03_08));
$file_03_xx = $file_03_04."&Signature=".$file_03_09;
return $file_03_xx;
}
#############################################################################################
$file_for_xml = amazon_url_signer($api_url);
Kommentare : 2 Kommentare »
Kategorien : Allgemein, PHP
19
04
2009
Unter MP3-Preis.de habe ich heute einen neuen MP3-Preisvergleich gestartet. Man kann nach Künstlern, Alben oder Singles suchen und bekommt eine Übersicht der verfügbaren Onlineangebote. Der Kauf und der Download des Songs oder des Albums erfolgt dann bei einer Shop-Seite. Zur Zeit stehen leider nur Angebote vom neu gestarteten MP3-Download Dienst von Amazon zur Verfügung aber weitere Anbieter wie Musicload oder iTunes folgen demnächst.
Kommentare : Keine Kommentare »
Kategorien : Allgemein
25
02
2009
Um Text aus einem Word-Dokument (.doc) heraus zu extrahieren kann man folgende Funktion verwenden:
function read_word($user_doc) {
$file = fopen($user_doc, "r");
$input = fread($file, filesize($user_doc));
$zeilen = explode(chr(0x0D), $input);
$ausgabe = "";
foreach($zeilen as $einzelzeile){
$pos = strpos($einzelzeile, chr(0x00));
if(($pos !== FALSE)||(strlen($einzelzeile)==0)) {
} else {
$ausgabe .= $einzelzeile." ";
}
}
$ausgabe = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)!]/", "", $ausgabe);
return $ausgabe;
}
Der Aufruf erfolgt so:
$text = read_word("testdoc.doc");
Die Funktion liest den Inhalt der Word-Datei ein und trennt den Inhalt nach einem Zeilenende (0×0D), entfernt alle überflüssigen Zeichen (welche das sein sollen kann man selber noch festlegen mit Hilfe des regulären Ausdruckes in Zeile 13. Dort genannte Zeichen bleiben im Text erhalten.). Anschließend führt die Funktion die Textzeilen aus dem Word-Dokument wieder zusammen. Wie dabei Zeilenumbrüche erhalten bleiben habe ich leider noch nicht herausgefunden.
Kommentare : Keine Kommentare »
Kategorien : Allgemein
19
06
2008
<VERSUCH>
Der Panasonic TX-37LZD80F erreichte im Test der Zeitschrift “Digital Home” Ausgabe 02/2008 mit der Wertung 1.40 den ersten Platz. Er setzte sich damit erfolgreich gegen 5 andere LCD TV durch. Im Panasonic TX-37LZD80F Test urteilten die Tester:
“Der TX-37LZD80F von Panasonic hat keinen einzigen nennenswerten Nachteil.”
Panasonic TX-37LZD80F Test -> klick hier
</VERSUCH>
Kommentare : Keine Kommentare »
Kategorien : Allgemein