Вернуться   Форум SAPE.RU > Система SAPE.ru > Пожелания пользователей системы

-->
Ответ
 
Опции темы
Старый 08.06.2007, 00:50   #31
Мастер
 
Аватар для timtroll
 
Регистрация: 02.04.2007
Сообщений: 594
Вес репутации: 225
timtroll скоро станет известенtimtroll скоро станет известен
Отправить сообщение для timtroll с помощью ICQ
По умолчанию

посимвольный поиск - глупость, так вы нагружаете сервак, поэтому я дал вам алгоритм более быстрого поиска. и совершенно не важно на каком языке вы его реализуете, на любом языке работа с хэшем бытрее, чем с массивом. а у вас получается работа с массивом, причем неоправданно громоздкая.
__________________
Уберите чекбокс "Не поднимать цену для уже размещённых ссылок"
А тут Вы быстро можете посчитать бюджет оптимизации
Не забывайте - создание сайта, создание сайтов!
timtroll вне форума   Ответить с цитированием
Старый 08.06.2007, 00:53   #32
Специалист
 
Регистрация: 10.04.2007
Сообщений: 179
Вес репутации: 216
sEXEcutor скоро станет известен
По умолчанию

Где здесь массив? Пальцем покажите.
Код:
function has_doubles($text) {

   $maxdbl = 2;   // максимальное количество повторов
   $wordsize = 5;   // минимальная длина слова/слога, дубликаты которой ищутся

//	setlocale(LC_ALL, 'ru_RU.CP1251');	// можно попробовать, если версия PHP с неработающим strtolower
	$text = strtolower($text);
   $size = strlen($text) - ($wordsize - 1);
   for ($i=0; $i<$size; ++$i) {
		$line = substr($text,$i,$wordsize);
      if (!strstr($line, ' ') AND substr_count($text,$line) > $maxdbl)
         return true;
   }

   return false;

}
sEXEcutor вне форума   Ответить с цитированием
Старый 08.06.2007, 00:58   #33
Мастер
 
Аватар для timtroll
 
Регистрация: 02.04.2007
Сообщений: 594
Вес репутации: 225
timtroll скоро станет известенtimtroll скоро станет известен
Отправить сообщение для timtroll с помощью ICQ
По умолчанию

блин, вы прикалываетесь? или не читали мой пост?

посимвольный перебор при большом количестве запросов будет отжирать кучу памяти и системных ресурсов... это вам о чем-то говорит?

я предложил более изящное и простое решение:

1. рубим предложение на слова - кидаем в хэш (буквальные повторы сами вылетают)
2. сравнением хэш с хэшем "черного списка"
3. склеиваем все обратно..

я не критикую ваш код, а показываю более бытро работающее решение!!
__________________
Уберите чекбокс "Не поднимать цену для уже размещённых ссылок"
А тут Вы быстро можете посчитать бюджет оптимизации
Не забывайте - создание сайта, создание сайтов!
timtroll вне форума   Ответить с цитированием
Старый 08.06.2007, 01:05   #34
Специалист
 
Регистрация: 10.04.2007
Сообщений: 179
Вес репутации: 216
sEXEcutor скоро станет известен
По умолчанию

Ок, ваша мысль понята и написана.
Но... нам нужна функция контроля, а не автоматического редактирования.
Вот то, что вы предлагаете:
Код:
function hash_control($text) {
	return implode(' ', array_keys(array_flip(explode(' ', $text))));
}

$out = "порно Порно порно";
echo hash_control($out);
На выходе мы получим текст без дубликатов. Этот ход подходит для клиентской стороны (хотя и запрещен), но со стороны сервера нужна функция проверки.
sEXEcutor вне форума   Ответить с цитированием
Старый 08.06.2007, 01:06   #35
Эксперт
 
Аватар для ffaust
 
Регистрация: 22.04.2007
Адрес: Sapelandia
Сообщений: 4,101
Вес репутации: 409
ffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущее
По умолчанию

мужчины! хорош ругаться! для меня это все китайская грамота, так что, возможно, вы оба правы! 8)
ffaust вне форума   Ответить с цитированием
Старый 08.06.2007, 01:08   #36
Специалист
 
Регистрация: 10.04.2007
Сообщений: 179
Вес репутации: 216
sEXEcutor скоро станет известен
По умолчанию

Хотя...
Код:
function hash_control($text) {
	return implode(' ', array_keys(array_flip(explode(' ', $text))));
}

$out = "порно Порно порно";
echo hash_control($out) == $out ? 'Повторов нет.' : 'Повторы есть';
Но без настроек
sEXEcutor вне форума   Ответить с цитированием
Старый 08.06.2007, 01:08   #37
Мастер
 
Аватар для timtroll
 
Регистрация: 02.04.2007
Сообщений: 594
Вес репутации: 225
timtroll скоро станет известенtimtroll скоро станет известен
Отправить сообщение для timtroll с помощью ICQ
По умолчанию

ну вот, красиво получилось.. :-) можно добавить, конечно отрезание от слов суффиксов, чтобы получились только корни, или реализовать нечеткий поиск и сравнение, но это уже точно убьет сервак.. :-( тут, я думаю, без ответов со стороны саперов не обойтись..
__________________
Уберите чекбокс "Не поднимать цену для уже размещённых ссылок"
А тут Вы быстро можете посчитать бюджет оптимизации
Не забывайте - создание сайта, создание сайтов!
timtroll вне форума   Ответить с цитированием
Старый 08.06.2007, 01:13   #38
Специалист
 
Регистрация: 10.04.2007
Сообщений: 179
Вес репутации: 216
sEXEcutor скоро станет известен
По умолчанию

Цитата:
Сообщение от ffaust Посмотреть сообщение
мужчины! хорош ругаться! для меня это все китайская грамота, так что, возможно, вы оба правы! 8)
Для вас же стараемся
sEXEcutor вне форума   Ответить с цитированием
Старый 08.06.2007, 01:18   #39
Мастер
 
Аватар для timtroll
 
Регистрация: 02.04.2007
Сообщений: 594
Вес репутации: 225
timtroll скоро станет известенtimtroll скоро станет известен
Отправить сообщение для timtroll с помощью ICQ
По умолчанию

короче, админов в студию!!!
__________________
Уберите чекбокс "Не поднимать цену для уже размещённых ссылок"
А тут Вы быстро можете посчитать бюджет оптимизации
Не забывайте - создание сайта, создание сайтов!
timtroll вне форума   Ответить с цитированием
Старый 08.06.2007, 01:49   #40
Эксперт
 
Аватар для ffaust
 
Регистрация: 22.04.2007
Адрес: Sapelandia
Сообщений: 4,101
Вес репутации: 409
ffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущееffaust - прекрасное будущее
По умолчанию

Цитата:
Сообщение от sEXEcutor Посмотреть сообщение
Для вас же стараемся
Лукавите! Для себя в первую очередь! 8))
Просто нехорошо - двое умных мужчин - и ругаются! 8)
ffaust вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите помогите вставить код в ShopScript Cat_N Вопросы по работе системы 3 22.01.2010 14:35


Часовой пояс GMT +3, время: 02:57.