Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: подсчет одинаковых слов на странице [2]
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
LEONeso В качестве наиболее простого решения для предполагаемой вами задачи возможно использование следующей схемы которая однако не является оптимальным - осуществляеся разбиение предоставленной строковой константы на набор слов по ключевому разделителю такому как пробельным символ - после чего обеспечивается просмотр полученного индексного массива и очистка его элементов от дополнительных знаков пунктуации и тд - далее на основании указанного массива осуществляется просмотр его элементов и инкрементация связанных счетчиков в ассоциативном массиве
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
OrmaJever
Отправлено: 29 Декабря, 2010 - 18:05:49
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
LEONeso пишет:
OrmaJever, опробовал совет jewel с strip_tags() и даже с fgetss(), применял данные функции к каждой переменной, но все было провально, куда бы я их не тыкал (метод тыка, откинув здравый смысл - отчаянье? )
Когда я писал пост, я отвечал на вопрос про регулярное выражение. А что имено нужно зделать?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
LEONeso
Отправлено: 29 Декабря, 2010 - 18:17:35
Посетитель
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
Хочу, что типа, авто заполнения ключевых слов исходя из контента страницы по частоте их повторения, но есть вероятность, что это не так просто как кажется. типа аналога как в движке DLE, где после создания новости/статической страницы движок сам проверяет (заполнено ли поле, если нет, то заполняет сам)
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
LEONeso
Отправлено: 02 Января, 2011 - 23:29:43
Посетитель
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
будит повторений 3, - кого будит)? до сих пор стыдно, перед посетителями, за эту ошибку
время повторений 3,
сайте повторений 6,
работ повторений 4,
после повторений 4,
как видно, склонения он не понимает, вопрос: с этим можно, что-то поделать? сравнивание слов на совпадение первых букв за исключением последних 2-х? если соответствую друг другу, то объединять и выводить слово, которое меньше имеет букв?
На выходе:
смайлы повторений: 4
сайта повторений: 7
новости повторений: 5
сайт повторений: 7
сайте повторений: 6
января повторений: 3
года повторений: 3
проекта повторений: 3
будут повторений: 3
версия повторений: 3
будит повторений: 3
время повторений: 3
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
movEAX, о спасибо, интересно, но как-то не очень. В итоге он вывел мало слов и большинство из них были одинаковые (по склонению). и не подсчитывает кол-во повторений
попытался скрестить оба кода в один, в итоге провал, но регулярку и некоторые функции подчеркнул для себя (разобрал код).
Попытался с помощью substr() и strlen() устроить следующее: 1. Подсчитать кол-во символов в слове 2. Добавить результат работы strlen в substr при этом разделить на 3 и округлить до целых round('',0) и вычесть данное значение из конца слова 3. далее провести сравнивание слов на схожесть ...
дальше мысль потеряна ... тонна ошибок в коде ... сдался.
в данный момент все осталось на прежнем месте, с малым изменением кода:
если применять, только одну регулярку "#[^а-я ]#i", то результат работы будет такой же, но при просмотре массива, он составит 1200+ ключей и естественно время работы скрипта больше, при полном цикле регулярок, ключей стало 400+, время работы сократилось (с учетом выбранного контента).
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
movEAX
Отправлено: 04 Января, 2011 - 20:26:17
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Помог: 16 раз(а)
LEONeso пишет:
если применять, только одну регулярку "#[^а-я ]#i", то результат работы будет такой же, но при просмотре массива, он составит 1200+ ключей и естественно время работы скрипта больше, при полном цикле регулярок, ключей стало 400+, время работы сократилось (с учетом выбранного контента).
array_unique()
Первая регулярка не нужна. (Добавление)
Какой результат на выходе?
----- армия.. самое убогое место
JustUserR
Отправлено: 04 Января, 2011 - 20:54:39
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
LEONeso пишет:
Дальше мысль потеряна ... тонна ошибок в коде
Для осуществления решения предполагаемой вами задачи в частном случае достаточно использование единичного рерулярного выражения и функции поддержки работы с ассоциативными массивами - в частности вначале осуществляется конфигурация региональных параметров рабочей станции и кодовой таблицы для осуществления представления информационных полей - что позволяет установить элемент разделителя \w для слов русского языка и сохранить их списков из оригинального источника индексный массив - после чего процесс подсчета количества вхождений описан ранее в потоке обсуждения
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.