Keywords aus dem Text generieren mit PHP
Montag 9. Februar 2009 von mighty.marcus
Wie der Titel schon sagt, werde ich euch mal zeigen wie man mittels PHP Keywords aus einem String ziehen kann. Dazu zeige ich euch mein kleines Skript, welches ich für mein Forum geschrieben habe.
Es durchsucht den Text nach Wörtern, die groß geschrieben sind. Ich gehe nämlich davon aus, dass alle Wörter, die groß geschrieben sind, wichtig sind. Großgeschriebene Wörter sind ja meist Namen, Orte oder Objekte, kleine meistens nicht.
Klar, die besten Keywords sind die, die man manuell eingibt. Hat man jedoch nicht die Zeit oder Muse dazu, das selbst zu machen, ist so ein Keyword Generator eine gute Wahl.
Keyword Meta Tags sollen ja von manchen Suchmaschinen inzwischen ignoriert werden oder zumindest an Bedeutung verloren haben. Anders sieht es jedoch aus, wenn man mit Adsense Werbung anzeigen lässt. Dabei spielen die Meta Tags doch ein wichtige Rolle. Oder denkt an Tag-Wolken. Um die zu erzeugen ist es notwendig, die wichtigsten Wörter herauszufischen und sie je nach Vorkommen unterschiedlich groß darzustellen, evtl. noch mit unterschiedlichen Farben von dunkelgrau bis weiß. Ganz unten könnt ihr euch ein Beispiel ansehen, wie ich es in meinem Forum verwende.
Das müsst ihr dann aber selbst programmieren.
Eine viel bessere Lösung wäre es, nicht nur nach großgeschriebenen Wörtern zu suchen, sondern den Text mit einer Keywords-Bibliothek zu vergleichen. Das ist jedoch mühsam, denn wo kriegt man so eine Keywords Bibliothek her, in der so ziemlich alle Wörter stehen, die wichtig sein könnten? Zweitens würde sicher die Performance darunter leiden, wenn wir den Text mit solch einer riesigen Bibliothek vergleichen würden.
Mein Keyword Generator macht den Job auch ziemlich gut. Ein Problem sind die Leute, die alles klein schreiben, aber mit denen müssen wir halt leben.
Wir fangen einfach mal an und erstellen einen String mit dem Text.
$text = 'Wir schreiben einen Keyword Generator. Man könnte auch sagen es ist ein Keyword Generator Tool, vielleicht schreiben wir einfach mal Keyword-Generator Tool, oder auch Keyword-GENERATOR-Tool, was ja das gleiche ist. Das Keyword in diesem Text ist natürlich KeYwoRD.';
Wir haben jetzt unseren Text, der in der Praxis z.b. aus sämtlichen Forumspostings einer Seite bestehen könnte, so wie es in meinem Forum der Fall ist.
Nun machen wir uns daran, einfach mal alle groß geschriebenen Wörter und Wortkombinationen (bestehend aus maximal 3 aufeinanderfolgenden groß geschriebenen Wörtern) herauszufiltern. Dafür benutzen wir ein Pattern und den PHP Befehl preg_match_all.
$pattern1 = '/\b[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+|[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+|[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+\b/'; preg_match_all($pattern1, $text, $array1);
Nicht erschrecken! Dieses Pattern besteht regex-Mustern, also Mustern, mit denen wir nach Übereinstimmungen suchen können. [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ bedeutet einfach, wir suchen nach Wörtern, deren erster Buchstabe groß geschrieben ist, die darauf folgenden Wörter groß oder klein geschrieben sind, und das Wort muss aus mindestens 3 Buchstaben bestehen.
Da wir aber nicht nur einzelne Wörter auslesen wollen, sondern auch Kombinationen aus Wörtern, sagen wir in unserem Muster, dass zuerst nach Wortkombinationen aus drei Wörtern gesucht werden soll - oder nach Kombis mit zwei Wörtern, zum Schluß nach einzelnen Wörtern - in dieser Reihenfolge.
Wir schauen uns mal das Ergebnis an, welches in dem Array $array1[0] gespeichert ist.
print_r($array1[0]);
Das Ergebnis:
Array ( [0] => Wir [1] => Keyword Generator [2] => Man [3] => Keyword Generator Tool [4] => Keyword [5] => Generator Tool [6] => Keyword [7] => GENERATOR [8] => Tool [9] => Das Keyword [10] => Text [11] => KeYwoRD )
Naja, irgendwie ist da etwas schief gelaufen! Wo kommt denn Generator Tool her, oder gar Generator? In unserem Muster steht doch Keyword-Generator Tool, aber wir bekommen nur Generator Tool. Achja, der Bindestrich. Klar, unser Muster ignoriert Keyword-Generator, da es davon ausgeht, dass Wortkombinationen mit einem Leerzeichen getrennt werden. Also ersetzen wir einfach mal alle Binde- und Unterstriche mit einem Leerzeichen, sodaß aus Keyword-Generator Tool ganz einfach Keyword Generator Tool wird.
$text = str_replace(array('-','_'),array(' '),$text);
Array ( [0] => Wir [1] => Keyword Generator [2] => Man [3] => Keyword Generator Tool [4] => Keyword Generator Tool [5] => Keyword GENERATOR Tool [6] => Das Keyword [7] => Text [8] => KeYwoRD )
Ja, so gefällt mir das schon besser.
Jetzt zählen wir die Wörter nach ihrem Vorkommen und sortieren sie auch danach. Das geht ziemlich einfach.
$ausgabe1 = array_count_values($array1[0]); array_multisort($ausgabe1, SORT_DESC);
Nun haben wir ein weiteres Array, nämlich $ausgabe1. Wir sehen uns mal den Inhalt an.
print_r($ausgabe1);
Array ( [Keyword Generator Tool] => 2 [Text] => 1 [KeYwoRD] => 1 [Das Keyword] => 1 [Keyword GENERATOR Tool] => 1 [Man] => 1 [Wir] => 1 [Keyword Generator] => 1 )
Aha, wie wir sehen, bestehen die Schlüssel dieses Arrays aus unseren Wörtern, die Werte bestehen aus der Häufigkeit ihres Vorkommens. Demnach kommt Keyword Generator Tool 2 mal vor, Text 1 mal, KeYwoRD auch 1 mal. Moment, das ist doch dumm. KeYwoRD und Keyword ist doch das selbe.
Ja, für Menschen natürlich schon, für einen Computer ist es aber absolut nicht das selbe.
Also was machen wir? Wir lösen dieses Problem ganz einfach so: wir wandeln von Anfang an alle unsere durch das Muster gefundenen Wörter in Kleinbuchstaben um, um dann jeden ersten Buchstaben eines jeden Wortes in einen Großbuchstaben zu verwandeln.
$array1[0] = array_map('ucwords', array_map('strtolower', $array1[0]));
Ergebnis:
Array ( [Keyword Generator Tool] => 3 [Text] => 1 [Keyword] => 1 [Das Keyword] => 1 [Wir] => 1 [Man] => 1 [Keyword Generator] => 1 )
Gut, es hat hingehauen. Keyword GENERATOR Tool wurde zu Keyword Generator Tool und kommt nun drei mal vor, statt nur 2 mal wie vorher.
Wir werden jetzt mal einen String erzeugen, den wir dann einfach als META-TAG benutzen können. Die Werte des Arrays, also das Vorkommen der Wörter, interessiert uns jetzt nicht mehr, da wir ja die Worte schon danach geordnet haben. Uns interessieren jetzt die Schlüssel, also die Wörter, die wir für unsere Liste brauchen.
$keywords = array_keys($ausgabe1); $keywords = implode(', ',$keywords); echo $keywords;
Ergebnis:
Keyword Generator Tool, Text, Keyword, Das Keyword, Wir, Man, Keyword Generator
Naja, nicht schlecht, aber auch noch nicht das wahre. Die Wörter “Wir”, “Man” und auch das “Das” haben in unserer Liste nichts verloren. Faul wie wir sind, werden wir sie direkt am Anfang einfach aus dem Text entfernen. Dazu brauchen wir eine sogenannte Stopwords-Liste.
Stopwords sind z.B. das, er, sie, es, wenn, seine, und etc.
$stopwords = array('Wir ','Das ','Man '); $text = str_replace($stopwords,'',$text);
Das ist so ziemlich die einfachste Methode, um ungewünschte Wörter zu entfernen. Wir benutzen ganz einfach str_replace und fügen nach jedem Stopword ein Leerezeichen hinzu. So können wir vermeiden, dass aus Wörtern wie “Manchester” “chester” wird, wenn wir das “Man” entfernen, oder aus dem Wort “Wirtshaus” “tshaus”.
Normalerweise werden diese Stopwords eh klein geschrieben und fallen eh durch unser Suchraster, allerdings kann es vorkommen, dass diese Wörter auch mal groß geschrieben werden. Eben am Satzanfang.
Das einzige Problem ist es, wenn dem “Wir” oder “Das” oder “Man” kein Leerzeichen folgen würde, sonder z.B. ein Komma. Dieses “Das,” würde nicht entfernt werden.
Mit preg_replace könnten wir das auch noch hinkriegen, aber erstens müssten wir dann unser ganzes Skript umkrempeln. Ich habe jetzt keine Lust, genauer darauf einzugehen, es hat jedenfalls etwas mit der Reihenfolge meines Skripts zu tun. ![]()
Und zweitens geht es auch so, und das wahrscheinlich performance-freundlicher (genau!!).
Gut, dann schauen wir mal, wie es jetzt aussieht.
Keyword Generator Tool, Keyword, Text, Keyword Generator
Ok. Bei längeren Texten empfiehlt es sich auch, die Keywords auf maximal 40 Wörter zu beschneiden.
$ausgabe1 = array_slice($ausgabe1,0,39);
Bis jetzt sieht unser Skript so aus:
$stopwords = array('Man ','Wir ','Das '); $text = 'Wir schreiben einen Keyword Generator. Man könnte auch sagen es ist ein Keyword Generator Tool, vielleicht schreiben wir einfach mal Keyword-Generator Tool, oder auch Keyword-GENERATOR-Tool, was ja das gleiche ist. Das Keyword in diesem Text ist natürlich KeYwoRD.'; $text = str_replace($stopwords,'',$text); $text = str_replace(array('-','_'),array(' '),$text); $pattern1 = '/\b[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+|[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+|[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+\b/'; preg_match_all($pattern1, $text, $array1); $array1[0] = array_map('ucwords', array_map('strtolower', $array1[0])); $ausgabe1 = array_count_values($array1[0]); $ausgabe1 = array_slice($ausgabe1,0,39); array_multisort($ausgabe1, SORT_DESC); $keywords = array_keys($ausgabe1); $keywords = implode(', ',$keywords); echo $keywords;
Wir können es aber noch besser machen.
Und zwar benutzen wir einfach mehrere Pattern. Das erste Pattern liest alle großgeschriebenen Wörter aus, sowie auch alle Wortkombinationen aus maximal drei aufeinander folgenden großgeschriebenen Wörtern.
Das zweite Pattern liest nur alle Wortkombinationen bestehend aus exakt drei aufeinander folgenden großgeschriebenen Wörtern aus. (Und zwar nicht aus dem ganzen Text sondern aus dem 1. Ergebnis, weil hier schon alles was wir brauchen enthalten ist. Es wäre ja auch blöd viermal den gesamten Text durchzusuchen)
Das dritte Pattern liest nur alle Wortkombinationen bestehend aus exakt zwei aufeinander folgenden großgeschriebenen Wörtern aus. Natürlich aus dem vorigen Ergebnis.
Und das vierte Pattern liest nur alle einzelnen roßgeschriebenen Wörter aus. Natürlich aus dem vorigen Ergebnis.
Dazu poste ich einfach mal das veränderte Skript und erkläre dann, was es damit auf sich hat.
$tags = 'Wir schreiben einen Keyword Generator. Man könnte auch sagen es ist ein Keyword Generator Tool, vielleicht schreiben wir einfach mal Keyword-Generator Tool, oder auch Keyword-GENERATOR-Tool, was ja das gleiche ist. Das Keyword in diesem Text ist natürlich KeYwoRD.'; $pattern1 = '/\b[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+|[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+|[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+\b/'; $pattern2 = '/\b[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+\b/';$pattern3 = '/\b[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+ [A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+\b/'; $pattern4 = '/\b[A-Z\ÄÖÜ]{1}+[A-Za-z\äüöéèáàúùß]{2,}+\b/'; preg_match_all($pattern1, $tags, $array1); $tags2 = implode(', ',$array1[0]); preg_match_all($pattern2, $tags2, $array2); $tags3 = implode(', ',$array1[0]); preg_match_all($pattern3, $tags3, $array3); $tags4 = implode(', ',$array1[0]); preg_match_all($pattern4, $tags4, $array4); $array1[0] = array_map('ucwords', array_map('strtolower', $array1[0])); $array2[0] = array_map('ucwords', array_map('strtolower', $array2[0])); $array3[0] = array_map('ucwords', array_map('strtolower', $array3[0])); $array4[0] = array_map('ucwords', array_map('strtolower', $array4[0])); $ausgabe1 = array_count_values($array1[0]); $ausgabe2 = array_count_values($array2[0]); $ausgabe3 = array_count_values($array3[0]); $ausgabe4 = array_count_values($array4[0]); $new_keys = array_merge($ausgabe1,$ausgabe2,$ausgabe3,$ausgabe4); array_multisort($new_keys, SORT_DESC); $new_keys = array_slice($new_keys,0,39); $keywords = array_keys($new_keys); $keywords = implode(', ',$keywords);
Das Ergebnis:
Erstes Skript:
Keyword Generator Tool, Keyword, Text, Keyword Generator
Zweites Skript:
Keyword, Generator, Keyword Generator, Tool, Keyword Generator Tool, Text
Genial, Keyword ist an erster Stelle. Das Generator an zweiter stelle bereitet mir aber doch irgendwie Unbehangen. Um einen Generator geht es hier ja nicht wirklich, oder?
Hm, kurz überlegen. Mit array_merge verbinden wir ja alle $ausgabe Arrays zu einem einzigen Array, das uns dann das Ergebnis liefert.
In $ausgabe1 finden wir alle Wörter und Wortkombinationen. Wenn das Pattern auf eine Wortkombination aus drei Wörtern stößt, wird dieser Treffer gespeichert. Es speichert dann bei Keyword Generator Tool nur “Keyword Generator Tool”. “Generator” und “Tool” wird nicht noch mal gespeichert.
Wenn es aber nicht auf eine Wortkombination aus drei Elementen stößt, schaut es nach, ob es eine Wortkombination aus zwei Worten findet. “Keyword Generator” zum Beispiel. Wir auch vorher speichert es “Keyword Generator” und fährt mit der Suche fort, ohne sich um den “Generator” zu kümmern.
In $ausgabe2 finden wir alle Wortkombinationen aus drei Elementen bestehend. Das zweite Pattern ignoriert jetzt alle einzelnen Wörter und alle Kombis mit zwei Elementen.
In $ausgabe3 finden wir alle Kombis aus zwei Elementen.
In $ausgabe4 finden wir alle einzelnen Wörter, unabhängig davon, ob diese in einer Wortkombination stehen oder nicht. Es findet bei “Keyword Generator Tool” einmal “Keyword”, einmal “Generator” und einmal “Tool”.
Mit array_merge($ausgabe1,$ausgabe2,$ausgabe3,$ausgabe4); fügen wir nun alle $ausgaben zusammen, wobei die Werte der jeweils vorherigen $ausgabe von der folgenden Ausgabe überschrieben werden.
Das heisst, steht in $ausgabe1 das Wort Keyword => 4 mal, und in $ausgabe4, dass ja alle einzelnen Wörter zählt, Keyword => 6 mal, wird aus dem Keyword => 4 in $ausgabe1 Keyword => 6.
Und so weiter.
Das Problem ist nun die Sache mit dem Generator. In der ersten $ausgabe1 kommt es gar nicht vor, denn im Text steht es nicht alleine, d.h. es steht immer in einer Kombination. Das ist schon mal gut.
In $ausgabe4 wird aber auf die Kombinationen gepfiffen und es erscheint dann trotzdem im Ergebnis-Array, und zwar nicht nur einmal sondern öfter, weil es ja schon in “Keyword Generator” vorkommt, aber auch in “Keyword Generator Tool”. Dabei ist dieses “Generator”, wenn es alleine steht, unnütz, belegt aber in unserer Keywords-Liste den zweiten Platz.
Das ist gewiss suboptimal. Was könnte man da machen? Die Lösung ist natürlich relativ einfach.
Wir schauen einfach in unserer ersten $ausgabe1 nach, ob das Wort “Generator” auch als einzelnes Wort ausserhalb einer Kombi gefunden wurde. Ist dem so, schenken wir ihm die volle Aufmerksamkeit. Ist dem nicht so, ignorieren wir es komplett als einzelnes Wort: Wir lassen es erst gar nicht in unserem Suchergebnis erscheinen.
Dazu schreiben wir einfach vor dem array_merge($ausgabe1,$ausgabe2,$ausgabe3,$ausgabe4); zwei foreach-Schleifen. Die kümmern sich nur um die einzelnden und um die Kombis mit 2 Elementen. Um die 3er Kombis müssen wir uns nicht weiter kümmern, wir können sie danach einfach zum ersten $ausgabe1 dazufügen.
foreach ($ausgabe3 as $key => $value) { if (isset($ausgabe1[$key])) {$ausgabe1[$key] = $value;} } foreach ($ausgabe4 as $key => $value) { if (isset($ausgabe1[$key])) {$ausgabe1[$key] = $value;} }
Wir ändern jetzt einfach die Zeile mit
$new_keys = array_merge($ausgabe1,$ausgabe2,$ausgabe3,$ausgabe4);
in
$new_keys = array_merge($ausgabe1,$ausgabe2);
In den Schleifen steht einfach drin, dass wir für jeden Treffer in den jeweiligen $ausgaben diese mit dem Wert in $ausgabe1 ersetzen - so kann kein in einer Kombi gefundenes “Generator” im Ergebnis landen.
Anders ist es, wenn wir im Text einmal das Wort “Generator” alleine finden würden. Das ist aber nicht der Fall.
Und das Ergebnis sieht dann so aus:
Keyword, Keyword Generator, Keyword Generator Tool, Text
Das Generator ist weg.
Nehmen wir jetzt mal ein anderes Beispiel als Text.
“Super Metroid Fans können mit dem Super Metroid Hack Super Metroid Redesign endlich mal ein neues Super Metroid spielen. Metroid ist ja auch ein geiles Spiel! Super Metroid Redesign ist ein Hack vom originalen Super Metroid. Es ist einfach genial.”
Ergebnis:
Metroid, Super Metroid, Super Metroid Redesign, Hack, Spiel, Super Metroid Hack, Super Metroid Fans
Seht ihr was ich meine? Metroid ist an erster Stelle, weil es auch mal als alleine stehendes Wort gefunden wird. Super ist erst gar nicht dabei? Warum nicht? Weil es im Text nicht ein einziges mal ausserhalb einer Kombination vorkommt. Hack kommt vor, und Spiel kommt auch vor, aber Super nicht. Das finde ich gut, denn Super würde den ersten Platz in unserer Liste belegen, weil es in Kombis öfter auftaucht.
Evtl. werde ich das Skript noch soweit verändern, dass ein alleine stehendes Wort auch öfter Vorkommen muss, um gezählt zu werden.
Denn was passiert, wenn in dem Text zufällig “Ja, das ist Super!” vorkommt. Na, die Frage könnt ihr doch selbst beantworten, nehme ich an.
So, jetzt muss ich aber Schluß machen.
Ich hoffe der eine oder andere kann mit diesem Beinahe Tutorial etwas anfangen. Ich weiß, das Skript ist nicht perfekt, aber vermutlich ein guter Ansatz für Newbies, die auch mal so etwas programmieren wollen und nicht nur fertige Skripts einbauen wollen.
Wenn ihr euch für die Sache interessiert könnt ihr irgendwann sicher ein Skript schreiben, dass meins alt aussehen lässt. Viel Spaß dabei. (Ich werde dann mal versuchen es zu verbessern.)
Und wenn ihr kreativ seid, könnt ihr nicht nur Keywords generieren, sondern noch zusätzlich eine Tag-Wolke generieren, so wie diese hier: Tag Wolke
Dieser Beitrag wurde erstellt am Montag 9. Februar 2009 um 11:18 und abgelegt unter Programmierung. Kommentare zu diesen Eintrag im RSS 2.0 Feed. Sie können einen Kommentar schreiben, oder einen Trackback auf Ihrer Seite einrichten.
Donnerstag 12. Februar 2009 um 11:16
ich finde deine idee genial.
auch wenn ich die patterns und php-codes (noch?) nicht verstehe. ich glaube nicht an seit längerem kursierenden gerüchte, daß metatags “out” sein sollen.
vor ca. 1 jahr habe ich mal eine glosse auf dem “weblog” meiner homepage geschrieben die generell mit SearchEngineOptimization (SEO) zu tun hat und diese glosse jetzt in nochmal gebloggt.
Freitag 13. Februar 2009 um 22:18
Das Problem mit den angeblich kaum noch beachteten Meta-Tag Keywords ist ja, dass Google davon ausgeht, je öfter ein Wort vorkommt, desto wichtiger ist es, anstatt einfach angeben zu können, um was es eigentlich geht. Das zwingt die Leute dann dazu, ständig die Keywords zu wiederholen, was zu richtig blöden Texten führt. Jemand der nach Gefühl schreiben will, wird schlecht platziert. Statt dessen findet man ganz vorne diese Seiten, die dutzendmal die gleichen Wörter wiederholen. Auch nicht der Bringer!
Dienstag 10. März 2009 um 16:35
Hey, vielen Dank für dieses schöne Tutorial. Das ist alles super erklärt! Habe es noch nicht ausprobiert, werde das aber nachher sicherlich einmal machen.
Lieben Dank!!!
Sonntag 30. August 2009 um 22:05
Wirklich gute Idee!! Ich wollte es umsetzen, aber es kamen eine Reihe an Fehlermeldungen. Den Fehler habe ich leider nicht gefunden, konnte ihn aber auf die patterns (wahrscheinlich) eingrenzen. Irgendwas passt da wohl nicht?! …Sofern ich selbst jetzt nichts falsch gemacht habe, aber ich habe ewig rumprobiert und geschaut. Weißt Du da was drüber oder läuft’s bei Dir einwandfrei??
Lg Johannes
Samstag 5. September 2009 um 02:27
Ja ich habs probiert, hat irgendwie nicht so geklappt. Aber ich hab das ganze ein bisschen verbessert, einfach hier downloaden.
Donnerstag 22. Oktober 2009 um 15:32
danke vielmals!