|
|
|
| Здравствуйте!
Как из текста $txt выбрать 10 найболее повторяющихся слов при том, что бы эти слова были больше 3 симв.
Примечание: переменная $txt может весить до 3 Мб
Заранее спасибо! | |
|
|
|
|
|
|
|
для: 1prom
(12.10.2010 в 21:45)
| | Разбить строку на слова, отсеять дубликаты, отсеять короткие слова, отсортировать массив слов, выбрать наиболее подходящее.
В этом вам помогут функции работы с массивами. | |
|
|
|
|
|
|
|
для: mihdan
(13.10.2010 в 01:54)
| | отсеять дубликаты
может все-таки посчитать дубликаты? | |
|
|
|
|
|
|
|
для: mihdan
(13.10.2010 в 01:54)
| | Сразу узнать сколько каждого слова в массиве. Правда исходник нехилый. | |
|
|
|
|
|
|
|
для: sim5
(13.10.2010 в 04:14)
| | А если файл будет метров под сто или гигабайт? | |
|
|
|
|
|
|
|
для: mihdan
(13.10.2010 в 14:54)
| | Это только с дури такие текстовые файлы создать можно. | |
|
|
|
|
|
|
|
для: sim5
(13.10.2010 в 14:58)
| | комментарий хорошо подходит к самому первому сообщению в теме. | |
|
|
|
|
|
|
|
для: Trianon
(13.10.2010 в 15:21)
| | :)) | |
|
|
|
|
|
|
|
для: mihdan
(13.10.2010 в 14:54)
| | тем более Ваш совет смертоубийство...
создавать массив (а это ни что иное как оперативная память) для того чтобы использовать функции работы с массивами...
п.с. теперь становиться яснее по какой причине Ваш личный сайт выстегивает комп напрочь, заставляет искать зубочистку и тыкать в ребут. | |
|
|
|
|
|
|
|
для: Valick
(13.10.2010 в 19:02)
| | Вы о чем? Сайт на Wordpress крутиться. ОС у вас какая и браузер? Вы - первый, кто говорит, что сайт "выстегивает комп напрочь".
Ваш вариант решения поставленной задачи? | |
|
|
|
|
|
|
|
для: 1prom
(12.10.2010 в 21:45)
| | Как из текста $txt выбрать 10 найболее повторяющихся слов при том, что бы эти слова были больше 3 симв
использовать базу данных всегда когда в условии поставленной задачи есть слово выбрать | |
|
|
|
|
|
|
|
для: Valick
(13.10.2010 в 19:07)
| | Я скажу для чего мне все это нужно:
На сайте есть страницы, что постоянно пополняются текстом в базе данных - нужно делать из этого текста периодически перечень ключевых слов. Размер текста около 10-100 кб, но есть случаи, где размер доходит до нескольких метров...
Конечно текст можно обрезать. Но хотелось бы периодически автоматом ключевые слова для страницы формировать и потом писать их в базу данных.
Как эту задачу можно решить другим путем? | |
|
|
|
|
|
|
|
для: 1prom
(13.10.2010 в 19:36)
| | Самый простой путь для текста 1251, это использование всего одной функции - str_word_count(). Но гонять файлы размером в десятки МБ..... | |
|
|
|
|
|
|
|
для: sim5
(13.10.2010 в 20:10)
| | sim5, Эта функция подсчитывает количество слов, входящих в строку string. Мне же нужно найболее часто повторяющиеся слова... | |
|
|
|
|
|
|
|
для: 1prom
(13.10.2010 в 21:00)
| | вообще идея бредовая, не обязательно большее количество слов отражает суть
но раз вы поставили перед собой такую задачу, то..
берете свою строку ищите первое попавшееся слово больше 3-х був и записываете его ключом массива со значением 1, ищите второе слово больше з-х букв (хотя иногда самые значимые слова в тексте состоят как раз из трех букв ;) ) если второе слово есть вашем массиве то изменяем значение этого элемента на +1, если нет то дописываем в массив.... и т.д. ро тексту.
потом сортируете массив по значению, берете первые 10-ть и радуетесь мысленно высылая деньги мне на вебмани ;) | |
|
|
|
|
|
|
|
для: 1prom
(13.10.2010 в 21:00)
| | А наиболее часто повторяющиеся это разве не количество? Да и частоту повторения определяет не длина слова, а его семантика. | |
|
|
|