Решаю задачку: определить ключевые слова во множестве доковских файлов. Расбил задачу на пункты: преобразовал файлы в хтмл удалил знаки препинания и слова менее 3-х букв (остались только нужные слова) Не получается из этого массива (или строки) 1. посчитать повторения каждого слова 2. отсортировать эти слова по количеству повторений 3. выбрать первые 10 слов с наибольшими повторениями. Смотрел некоторые поисковые скрипты, там реализовано так есть массив или файл или строка (впрочем как у меня) есть переменная с поисковым словом или словами эту переменную сравнивают на совпадения с файлом в п.1 В моем же случае этой переменной нет. Как можно реализовать вышеуказанные 3 пункта?
Разбиваешь с помощью preg_split Потом используешь array_unique Проходишь по каждому элементу полученного массива и находишь число входжений каждого элемента оригинального массива (тут наверно надо array_walk использовать) Затем используешь sort и усе.
PHP: <?php $text = trim(file_get_contents("test.txt")); $words = preg_split("/[\s]+/s",$text); foreach($words as $word) { if (strlen($word)>3) $result[$word]++; } arsort($result); $result = array_slice($result,0,10); print_r($result); ?>
когда много массивов легче работать с БД, создай временную таблицу занеси в неё все слова и запросами делай что хочешь.
Спасибо за совет. Но как мне сделать сроку с этими словами. Я дописал $keywords=implode (", ", $result); Выводятся чсла через запятую, а мне нужно слова.