在PHP MySQL中获取热门词汇

前端之家收集整理的这篇文章主要介绍了在PHP MySQL中获取热门词汇前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从 PHP / MysqL中的多个内容表中获取最流行的单词.

例如,我有一个论坛帖子的论坛_post;这包含主题内容.
除了这些之外,我还有多个具有不同字段的其他表,这些表还可以包含要分析的内容.

我可能会自己去获取所有内容,条带(可能)html在空格上爆炸字符串.删除引号和逗号等,只需在运行所有单词时通过保存数组来计算不常见的单词.

我的主要问题是,如果有人知道一种可能更容易或更快的方法.

我似乎无法找到任何有用的答案,这可能是错误搜索模式.

有人已经做到了.

你正在寻找的魔法是一个名为str_word_count()PHP函数.

在下面的示例代码中,如果您从中获得了大量无关的单词,则需要编写自定义剥离来删除它们.此外,您还希望从单词和其他字符中删除所有html标记.

我使用与此类似的东西来生成关键字(显然代码是专有的).简而言之,我们正在提供文本,我们正在检查单词频率,如果单词出现,我们将根据优先级对它们进行排序.所以最频繁的单词将在输出中排在第一位.我们不计算只出现过一次的单词.

<?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;
?>

猜你在找的PHP相关文章