Mailinglisten-Archive |
Peter Bieling wrote: > Andreas Demmer 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> ja, aber wo ist das Problem mit deiner Aufgabenstellung? Splitten, Filtern, Fertig. Suchst du noch eine Stoppwort-Liste? Satzzeichen und Operatoren gelten nicht als '\w' > Man muss ja auch noch die Satzzeichen ausfiltern und sich überlegen, wie > man mit Bindestrichen etc. umgeht. \w schon mal probiert in einem regex? > HTML-Entitities muss man vielleicht wieder umwandeln. ach eben waren wir ncoh bei einem Deutschen String, jetzt haben wir schon HTML-Entities ... -- Sebastian Mendel www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com www.sf.net/projects/phpdatetime www.sf.net/projects/phptimesheet
php::bar PHP Wiki - Listenarchive