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