Mailinglisten-Archive |
Andreas Demmer wrote: > Peter wrote: > Für diese schwierige Aufgabe habe ich eine hochkomplexe Klasse geschrieben: > > <?php > $string = 'Das ist das Haus des Nikolaus und nebendran vom Weihnachtsmann.'; > preg_match_all('|[a-zöäü]{4,}|i', $string, $words); > sort($words); > print_r($words); > ?> > > Fragen zur Funktionsweise der einzelnen Methoden beantworte ich gerne! ;-) ja, einfach genial. Ich hätte noch dies anzubieten: $words = preg_split('|\s+|', $string); Aber die Sache ist doch etwas komplexer: <zitat src="http://www.hb.fh-gelsenkirchen.de/recherchehilfe/glossar.phtml"> Stoppwörter / Stopwords Manche Wörter werden bei der Suche ignoriert. Dies sind häufig und unspezifisch vorkommende Wörter wie Artikel, Präpositionen, Pronomen (z.B. der, die, das, ein, einer/s, er, sie, es, ab, von, zu...) usw. sowie deren fremdsprachige Entsprechungen. Nach den Boole'schen Operatoren und speziellen Zeichen (, -, &,...) kann ebenfalls nicht gesucht werden, sowie nach Wörtern mit weniger als drei Zeichen. Stoppwörter können nur als Teil einer Phrase gesucht werden (z.B. "Kampf der Kulturen"). </zitat> Man muss ja auch noch die Satzzeichen ausfiltern und sich überlegen, wie man mit Bindestrichen etc. umgeht. HTML-Entitities muss man vielleicht wieder umwandeln. Bis das alles einwandfrei in Ordnung ist, hat man ein paar Stunden verbraten. Das Endprodukt dürfte dann wirklich schon bald eine Klasse sein, in der einiges an Arbeit steckt. Viele Grüße Peter
php::bar PHP Wiki - Listenarchive