Как я могу найти частоту запросов терминов в документе в PHP

Пожалуйста, помогите мне, как найти частоту каждого термина запроса в конкретном документе на PHP. например, у нас есть 2 файла:

Query.txt содержит данные "быть не должно"

Data.txt содержит данные "быть или не быть. Что быть. Все остальное быть".

И мне нужно прочитать файл query.txt и собрать термины из этого файла, которые {"to", "be"} и найти частоту этих терминов в файле data.txt, и если есть способ получить их позиции тоже,

Результат будет, вероятно, так:

"чтобы" появилось 4 раза "быть" появилось 4 раза "не" появилось 1 раз

С Уважением,

1 ответ

Решение

Я считаю, что это то, что вы хотите.

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;

?>
Другие вопросы по тегам