在PHP MySQL中获取热门词汇
发布时间:2020-12-13 13:25:31 所属栏目:PHP教程 来源:网络整理
导读:如何从 PHP / MySQL中的多个内容表中获取最流行的单词. 例如,我有一个论坛帖子的论坛_post;这包含主题和内容. 除了这些之外,我还有多个具有不同字段的其他表,这些表还可以包含要分析的内容. 我可能会自己去获取所有内容,条带(可能)html在空格上爆炸字符串.删
如何从
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; ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |