Вопрос:
Я думал о чем-то для проекта, который я хочу сделать, я не продвинутый пользователь, и я просто изучаю. Не знаю, возможно ли это:
Предположим, что у нас есть 100 html-документов, содержащих много таблиц и текста внутри них.
Вопрос один: возможно ли проанализировать весь этот текст и найти повторяющиеся слова и считать его?
Да, это возможно сделать с некоторыми функциями, но здесь проблема: что, если мы не знаем слов, которые собираются найти? То есть, нам нужно будет указать код, что означает слово.
Предположим, например, что одно слово будет состоять из семи символов, идея состоит в том, чтобы найти другие подобные шаблоны и упомянуть об этом. Какой был бы лучший способ сделать это?
Спасибо вам заблаговременно.
Пример:
Поиск: Пять символов на следующих фразах:
Текст один:
“Требуется, чтобы океан не сломался”
Текст второй:
“Океан – это тело соленой воды”
Результат
Takes 1 Break 1 water 1 Ocean 2
Заранее благодарим за помощь.
Лучший ответ: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);
OUTPUT
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.