如何在PHP中查找文档中查询术语的频率

时间:2014-06-20 05:33:38

标签: php search-engine code-search-engine

请帮助我,了解如何在PHP中查找特定文档中每个查询字词的频率。例如我们有2个文件:

Query.txt包含数据"不是"

Data.txt包含数据"是或不是。该怎么做其他一切。"

我需要阅读文件query.txt并从该文件中收集{"到"," be"}的条款,并在文件中查找这些条款的频率data.txt以及是否有办法检索他们的位置。

结果可能是这样的:

"至"出现了4次 "是"出现了4次 "不"出现了1次

此致

1 个答案:

答案 0 :(得分:0)

我相信这就是你想要的。

<强> PHP:

<?php

$words = array('to','be','not');

$str = "to be or not to be. what to be. everything else to be.";
$values = array_count_values(str_word_count($str, 1));

foreach($words as $word){
    echo '"'.$word.'" appeared ';
    if(isset($values[$word])){ echo $values[$word]; }else{ echo '0'; }
    echo ' times';
}

?>

突出显示的PHP:

<?php

    $words = array('to','be','not');

    $str = "to be or not to be. what to be. everything else to be.";
    $nStr = $str;

    $values = array_count_values(str_word_count($str, 1));

    foreach($words as $word){
        $nStr = str_replace($word,"<span style='background-color:#FEEFB3;'>".$word."</span>",$nStr);        
        echo '"'.$word.'" appeared ';
        if(isset($values[$word])){ echo $values[$word]; }else{ echo '0'; }
        echo ' times ';
    }

    echo '<br/>'. $nStr;

?>