| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > как посчитать количество повторов слов в тексте |
| Автор: americanets 11.4.2007, 20:11 |
| собрал текст со страницы, убрал HTML теги, как посчитать количество повторов слов в этом тексте а потом все вывести в таблицу слово | количество повторов |
| Автор: SelenIT 11.4.2007, 20:35 |
| explode + http://php.net/array_count_values? |
| Автор: Shur 11.4.2007, 20:39 | ||
| Попробуйте так: $content - ваш текст в _строке_.
Спасибо большое за код SelenITу. У меня был похожий вопрос, помогли. |
| Автор: mishaSL 11.4.2007, 20:40 | ||
Вот пример:
Также можно воспользоваться функцией http://ru2.php.net/substr_count, но нужно учитывать, что она ищет совтадение подстроки, а не слов. |
| Автор: americanets 12.4.2007, 11:58 | ||
да спасибо разобрался сделал
единственное не знаю как теперь сделать чтоб выше ставились те у которых больше совпадений |
| Автор: SelenIT 12.4.2007, 12:10 |
| americanets, попробуйте перед выводом массива сделать ему http://www.php.net/manual/en/function.arsort.php. |
| Автор: americanets 12.4.2007, 17:20 |
| SelenIT, спасибо , то что надо, а как посчитать общее количество слов в тексте , делаю так $count=count($words); print $count; результат 1 |
| Автор: SelenIT 12.4.2007, 17:39 |
| count($words[0]) - массив-то двумерный. Можно при отладке сделать print_r($words) для наглядности... |
| Автор: americanets 12.4.2007, 20:59 | ||
спасибо, заработало, теперь пытаюсь избавиться от мусора который дает заголовок при открытии страницы через fsockopen , а именно
открыл топик http://forum.vingrad.ru/topic-145789/anchor-entry1096415/0.html , просто вырезать не совсем правильно, данные могут быть различны не поможете как с этим быть ? |
| Автор: americanets 13.4.2007, 17:16 |
| не работает на сервере, считает только английские слова, |
| Автор: mishaSL 13.4.2007, 17:26 | ||
americanets, поставьте эту строку в начало скрипта:
|
| Автор: americanets 13.4.2007, 17:56 | ||
| спасибо, все заработало, уже отыскал где
но по другому пытался сделать |
| Автор: mishaSL 13.4.2007, 18:10 |
| Такой вопрос часто возникает. Если пользуетесь регулярными выражениями и в них необходимо работать с русскими символами не забывайте правильно определить локаль, это не будет лишним Если вопрос решен, то не забывайте помечать его как решенным |
| Автор: americanets 16.4.2007, 19:38 |
| спасибо еще раз, все сделал , есть еще аопросы но пока разбираюсь |
| Автор: CyClon 17.4.2007, 21:23 | ||||
| Использовать регулярные выражения там, где можно обойтись без них - дурной тон. Они вызываю большую нагрузку по сравнению с другими функциями. Слова можно получить так:
В итоге задачу можно решить:
|
| Автор: americanets 29.4.2007, 17:59 |
| setlocale(LC_ALL, "ru_RU.CP1251"); на новом сервере не помогает, как можно еще сменить локаль? |
| Автор: SelenIT 29.4.2007, 21:45 |
| americanets, гляньте http://phpclub.ru/talk/showthread.php?threadid=98706, может, один из упомянутых вариантов подойдёт... |
| Автор: americanets 30.4.2007, 10:15 | ||
|
| Автор: SelenIT 30.4.2007, 10:41 |
| americanets, видимо, опять не совсем та локаль сработала. Попробуйте по очереди каждую из них по отдельности. |
| Автор: americanets 30.4.2007, 16:51 |
| не стояла локаль, сервер новый, забыли поставить, сейчас все ок |