Mailinglisten-Archive |
Hallo Enno, > Yupp.- ich möchte mir einfach das ewige schreiben von Meta-Keywords > ersparen, und sie deshalb aus dem Inhalt der Seite extrahieren. Nachvollziehbar:) Das geht mir nicht anders. Probleme hatte ich dabei bisher nur bei dem Umstand, dass die Keywords dummerweise ja vor dem eigentlichen Text der Seite kommen. Da kamen dann als Lösungen, die Erfassung der Keywords separat in die DB etc. > Bisher habe ich folgendes: > > <?php > $string = implode("",(_(at)_file("keywords.htm"))); > $string = ereg_replace('<([^>]|\n)*>', '', $string); > $array = explode(" ",$string); > for($x=0;$x<count($array);$x++){ > echo $array[$x] . ", "; > } > ?> > > Das funzt auch. Nun benötige ich lediglich noch einen Regulären > Ausdruck, der mir alle Wörter <=3 Buchstaben russchmeisst, alle > Leerräume und alle kleingeschriebenen Wörter. Vielleicht kannst Du > mir da ja helfen. > Die Performance spielt ersteinmal keine Rolle. Leider kenn' ich mich RegExen noch überhaupt nicht so aus. Aber ich hab' grad mal einen Blick in die PHPMagazine geworfen, da sind ja zwei riesige Artikel zum PCRE- bzw. POSIX-RegExe drin. "Wörter mit mehr als 3 Buchstaben" Ich würde versuchen nicht mit dem RegEx, sondern PHP den Nicht- ausdruck zu finden. Also: [a-z][a-z][a-z] sollte drei beliebige kleine Buchstaben nacheinander finden und [[:space:]] den nach- folgenden Whitespace. Dein RegEx matcht also. if ($match) { echo "ich ignoriere dich"; } else { echo "ausgabe"; } "Leeräume" Naja mit [[:space:]] eben. "kleingeschriebene Wörter" ..würde ich versuchen mit [[:lower:]] (entspricht [a-z]) zu finden. mfg -> christian
php::bar PHP Wiki - Listenarchive