Don P: Logische Probleme durch andere Programmiersprache nicht lösbar.

Beitrag lesen

Hallo,

  1. Nimm das Erste Wort im Text.

wie erkennst Du ein Wort?

Per RegEx.

  1. Ersetze es global durch nichts, d.h. durch einen Leerstring
  2. Schreibe das Wort und die Anzahl der Erstzungen in die Datenbank.

Du hast das Trimmen vergesen :-)

Nö, RegEx. Whitespace und sonstiger Schrott darf stehen bleiben :)

effektiv entspricht Dein Algorithmus folgenden zwei PHP-Anweisungen:

$myWords = [link:http://www.php.net/manual/de/function.preg-split.php@title=preg_split]( <muster zum Erkennen von Wörtern>, $input);

$highscore = array_count_values($myWords);

  
Mag sein, wie gesagt kenne ich PHP zu wenig bzw. gar nicht. In Perl z.B. braucht man dazu kein Array array\_count\_sonstwas (wenn ich jetzt nicht irre), sondern die ersetzte Anzahl steht in einer Variablen.  
  

> [suit](https://forum.selfhtml.org/?t=197076&m=1321317) hat bereits [das Problem der Worttrennung](https://forum.selfhtml.org/?t=197076&m=1321330) hingewiesen. Darüber hinaus gibt es noch das Problem der unerwünschten Wörter wie "der, die, das, ..." - die Stopword-Liste -  das Problem der Groß- und Kleinschreibung und natürlich die Kombination von beidem und zu allem Überfluss gegebenenfalls noch die Notwendigkeit, unterschiedliche Sprachen unterschiedlich behandeln zu wollen - siehe [suits Anmerkungen](https://forum.selfhtml.org/?t=197076&m=1321333) und [die Anmerkungen von suit](https://forum.selfhtml.org/?t=197076&m=1321385). :-)  
  
Ja, von suit, aber vom OP war davon wenig bis gar nichts zu hören. Man weiß ja gar nicht, wie der Text aufgebaut ist, ob es überhaupt Trennungen, Fremdsprachen usw. gibt... und dass es unbedingt PHP sein \*muss\*, ist auch nicht garz klar. Wenn suit sich Szenarien frei ausdenkt, naja. Da würde mir auch noch einiges einfallen, um die Sache zu verkomplizieren ;)  
  

> Ich stelle fest: suit hat dieses Problem intensiv überdacht ...  
  
Davon gehe ich aus.  
  
Gruß, Don P