Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Holen Sie sich beliebte Wörter in PHP+MySQL

Jemand hat es bereits getan.

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

Wenn Sie in meinem Beispielcode unten viele irrelevante Wörter erhalten, müssen Sie 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 den bereitgestellten Text, wir überprüfen die Worthäufigkeit und wenn die Wörter in der Reihenfolge erscheinen, sortieren wir sie in einem Array basierend auf der Priorität. Die häufigsten Wörter werden also zuerst in der Ausgabe angezeigt. Wir zählen keine Wörter, die nur einmal vorkommen.

<?php
$text = "your text.";

//Setup the array for storing word counts
$freqData = array();
foreach( str_word_count( $text, 1 ) as $words ){
// For each word found in the frequency table, increment its value by one
array_key_exists( $words, $freqData ) ? $freqData[ $words ]++ : $freqData[ $words ] = 1;
}

$list = '';
arsort($freqData);
foreach ($freqData as $word=>$count){
    if ($count > 2){
        $list .= "$word ";
    }
}
if (empty($list)){
    $list = "Not enough duplicate words for popularity contest.";   
}
echo $list;
?>