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