加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读