Bekomme beliebte Wörter in PHP + MySQL

8

Wie komme ich dazu, die beliebtesten Wörter aus mehreren Inhaltstabellen in PHP / MySQL zu bekommen?

Zum Beispiel habe ich eine Tabelle forum_post mit Forum Post; Dies enthält ein Thema und einen Inhalt. Neben diesen habe ich mehrere andere Tabellen mit verschiedenen Feldern, die auch zu analysierende Inhalte enthalten könnten.

Ich würde wahrscheinlich selbst gehen, um den gesamten Inhalt zu holen, strip (möglich) html explodieren die Zeichenfolge auf Leerzeichen. Entfernen Sie Anführungszeichen und Kommas usw. und zählen Sie einfach die Wörter, die nicht üblich sind, indem Sie ein Array speichern, während Sie alle Wörter durchlaufen.

Meine Hauptfrage ist, ob jemand eine Methode kennt, die einfacher oder schneller ist.

Ich konnte keine hilfreichen Antworten darauf finden, es könnten die falschen Suchmuster sein.

    
Mathijs Segers 23.05.2013, 07:13
quelle

2 Antworten

3

Jemand hat es schon getan.

Die Magie, nach der Sie suchen, ist eine PHP-Funktion namens str_word_count () .

Wenn Sie in meinem Beispielcode eine Menge überflüssiger Wörter erhalten, müssen Sie ein benutzerdefiniertes Stripping schreiben, um sie zu entfernen. Außerdem sollten Sie alle HTML-Tags von den Wörtern und anderen Zeichen entfernen.

Ich verwende etwas ähnliches für die Keyword-Generierung (offensichtlich ist dieser Code proprietär). Kurz gesagt, wir nehmen bereitgestellten Text, wir überprüfen die Worthäufigkeit und wenn die Wörter der Reihenfolge nach geordnet sind, sortieren wir sie in einem Array nach Priorität. Die häufigsten Wörter werden also zuerst in der Ausgabe sein. Wir zählen keine Wörter, die nur einmal vorkommen.

%Vor%     
AbsoluteƵERØ 23.05.2013, 07:19
quelle
0

Ich sehe, Sie haben eine Antwort akzeptiert, aber ich möchte Ihnen eine Alternative geben, die in gewissem Sinne flexibler ist: (Entscheiden Sie selbst :-)) Ich habe den Code nicht getestet, aber ich denke, Sie bekommen das Bild. $ dbh ist ein PDO-Verbindungsobjekt. Es liegt dann an Ihnen, was Sie mit dem resultierenden $ words-Array machen wollen.

%Vor%     
quelle

Tags und Links