我一直在为我想做的项目考虑一些事情,我不是一个先进的用户而且我只是在学习。不知道这是否可能:
假设我们有100个html文档,其中包含许多表格和文本。
问题一是:是否有可能分析所有这些文本并找到重复的单词并计算它?。
是的,这可能与某些功能有关,但这就是问题所在:如果我们不知道将要找到的单词怎么办?也就是说,我们必须告诉代码一个词的含义。
例如,假设一个单词是七个字符的联合,那么想法就是找到其他类似的模式并提及它。最好的方法是什么?
非常感谢你。
示例:
搜索:下一个短语上的五个字符模式:
文字一:
“海洋不要破坏”
文字二:
“海洋是咸水的身体”
结果
Takes 1
Break 1
water 1
Ocean 2
提前感谢您的帮助。
答案 0 :(得分:7)
function get_word_counts($phrases) {
$counts = array();
foreach ($phrases as $phrase) {
$words = explode(' ', $phrase);
foreach ($words as $word) {
$word = preg_replace("#[^a-zA-Z\-]#", "", $word);
$counts[$word] += 1;
}
}
return $counts;
}
$phrases = array("It takes an ocean of water not to break!", "An ocean is a body of saline water, or so I am told.");
$counts = get_word_counts($phrases);
arsort($counts);
print_r($counts);
<强>输出强>
Array
(
[of] => 2
[ocean] => 2
[water] => 2
[or] => 1
[saline] => 1
[body] => 1
[so] => 1
[I] => 1
[told] => 1
[a] => 1
[am] => 1
[An] => 1
[an] => 1
[takes] => 1
[not] => 1
[to] => 1
[It] => 1
[break] => 1
[is] => 1
)
修改强>
根据@Jack的评论更新以处理基本标点符号。