Jump to content


Photo

Фильтр рекламы в чате


85 replies to this topic

#1 Sandman

Sandman

    Advanced Member

  • Members
  • PipPipPip
  • 2,633 posts

Posted 19 June 2005 - 00:39

Не буду много говорить лишнего, ибо всем и так известно, как часто в чате ГГ выкладывается реклама сторонних чатов. Также всем известно, что наиболее рекламируемым является чат нашего старого знакомого Снайпера... Собственно, только благодаря ГГ-чату он ещё и жив. Посему предлагаю фильтровать сообщения. Благо VOC-чат уже изначально поддерживает функции фильтрации сообщений.
Итак, в корневой папке чата есть файл inc_badwords_filter.php... Насколько я понял, на ГГ фильтр либо совсем отключён, либо массив запрещённых слов пуст. В любом случае, привожу текст скрипта, который следует поместить в inc_badwords_filter.php, чтобы фразы "sniper-chat", "crazychat" и "mpchat", а также их различные модификации вырезались:

<?php
function replace_badwords($text) {
$bad_words = array(
"'[sS]{1,5}.{0,5}[nN]{1,5}.{0,5}[iIіІ]{1,5}.{0,5}[pPрР]{1,5}.{0,5}[eEеЕ]{1,5}.{0,5}[rR]{1,5}.{0,5}[cCcC]{1,5}.{0,5}[hHН]{1,5}.{0,5}[aAаА]{1,5}.{0,5}[tTТ]{1,5}'",
"'[mMМ]{1,5}.{0,5}[pPрР]{1,5}.{0,5}[cCсС]{1,5}.{0,5}[hHН]{1,5}.{0,5}[aAаА]{1,5}.{0,5}[tTТ]{1,5}'",
"'[cCсС]{1,5}.{0,5}[rR]{1,5}.{0,5}[aAаА]{1,5}.{0,5}[zZ]{1,5}.{0,5}[yYуУ]{1,5}.{0,5}[cCсС]{1,5}.{0,5}[hHН]{1,5}.{0,5}[aAаА]{1,5}.{0,5}[tTТ]{1,5}'"
);
$good_words = "[...]";
if (function_exists("preg_replace")) {
$text = preg_replace($bad_words,$good_words, $text);
}
return $text;
}
?>

Те конструкции, где символы на вид одинаковы (например [aAаА]), состоят из двух букв "а" английских с разными регистрами и таких же русских. Так их и следует написать. Вполне вероятно, что какраз это тут через форум и не сможет корректно передаться. В любом случае, готов предоставить сам файл inc_badwords_filter.php, чтобы никто не мучался... Вроде с Воландом сегодня тестировали его в моём чате на различные модифицированные рекламные строки со ссылкой на чат Снайпера. Работает достаточно неплохо.
Нужно также проверить, включен ли фильтр вообще. Для этого нужно убедиться, что в файле sender.php, который находится в корневой папке чата, перед строкой

$mesg = htmlspecialchars($mesg);

стоит строка

$mesg = replace_badwords($mesg);

Вот, собственно, и всё.
Желающие потестировать фильтр могут это сделать в моём чате, ссылку на который я давал уже неоднократно в Болталке.
Если такой фильтр всё равно не будет устраивать, то можно сделать более жёсткий, с регулярным выражением в массиве:

"'[sS]{1,5}(.*)[nN]{1,5}(.*)[iIіІ]{1,5}(.*)[pPрР]{1,5}(.*)[eEеЕ]{1,5}(.*)[rR]{1,5}(.*)[cCcC]{1,5}(.*)[hHН]{1,5}(.*)[aAаА]{1,5}(.*)[tTТ]{1,5}'"

Но тогда есть шанс, что он поковеркает большую фразу на английском, если она будет удовлетворять условиям этим. Хотя, чат русскоязычный и тут такая проблема врядли возникнет. Да и фраза должны быть действительно большой.
  • 0

#2 Voland

Voland

    Advanced Member

  • Members
  • PipPipPip
  • 2,260 posts

Posted 19 June 2005 - 00:47

я между прочем тоже помогал тестить ;D идейки подбрасывал по поводу наиминований ;D
  • 0

#3 _Ray_

_Ray_

    Advanced Member

  • Members
  • PipPipPip
  • 2,050 posts

Posted 19 June 2005 - 01:05

Штука прикольная.Собственно ручно потестировал-все получилось. Надо ставить на ГГ :)
  • 0

#4 Voland

Voland

    Advanced Member

  • Members
  • PipPipPip
  • 2,260 posts

Posted 19 June 2005 - 01:15

желательно весь чат
  • 0

#5 NeoRanga

NeoRanga

    Advanced Member

  • Members
  • PipPipPip
  • 6,037 posts

Posted 19 June 2005 - 03:24

Ага и чтобы вместо ссылки было написано "Я рекламщик чатов"
  • 0

#6 Voland

Voland

    Advanced Member

  • Members
  • PipPipPip
  • 2,260 posts

Posted 19 June 2005 - 03:40

ну то уже ерунда дестроер. я даже думаю что [...] этим заменятьне следует, следует просто вообще неотображать рекламное сообщение, а так как это врятли возможно, самое оптимальное это [...]
  • 0

#7 Anderson

Anderson

    Advanced Member

  • Members
  • PipPipPip
  • 3,612 posts

Posted 19 June 2005 - 11:00

2 John Джон, ставь быстрее чат Сендмана ::)
  • 0

#8 Bestrafer

Bestrafer

    Advanced Member

  • Members
  • PipPipPip
  • 862 posts

Posted 19 June 2005 - 12:34

Ну наконец-то это случилось
  • 0

#9 YaSHerka_vanilla

YaSHerka_vanilla

    Advanced Member

  • Members
  • PipPipPip
  • 395 posts

Posted 19 June 2005 - 13:07

млин, ребят, неплохо, только такой вопрос возник, если в приват будут ссылки даваться, все так же работать будет?
  • 0

#10 Voland

Voland

    Advanced Member

  • Members
  • PipPipPip
  • 2,260 posts

Posted 19 June 2005 - 13:22

он работает даже по приватам :)
  • 0

#11 YaSHerka_vanilla

YaSHerka_vanilla

    Advanced Member

  • Members
  • PipPipPip
  • 395 posts

Posted 19 June 2005 - 13:31

хех, ну тогда вообще здорово!!! тогда обращаюсь к Джону: глубокоуважаемый мистер президент! внемлите нашим призывам и поставте чат Сенда, а то ну надоел этот снайпер!!!
  • 0

#12 Hitman:2CodeName48

Hitman:2CodeName48

    Advanced Member

  • Members
  • PipPipPip
  • 206 posts

Posted 19 June 2005 - 17:06

а если мне придет пост смотри красивую картинку? я нажимаю на ссылку а там изображение с рекламой чата этого урода?
  • 0

#13 _Ray_

_Ray_

    Advanced Member

  • Members
  • PipPipPip
  • 2,050 posts

Posted 19 June 2005 - 19:03

вот когда они до этого додумуются-тогда и будем думать=))
  • 0

#14 HITMAN

HITMAN

    Advanced Member

  • Members
  • PipPipPip
  • 2,031 posts

Posted 19 June 2005 - 19:17

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

На картинке будет написаны только название сайта и урл адрес, а ссылки не будет. Тебе будет просто лень набирать этот адрес вручную => ты не зайдёшь на их сайт => такая реклама не будет приносить пользы => такого вида рекламы не будет.
  • 0

#15 Sandman

Sandman

    Advanced Member

  • Members
  • PipPipPip
  • 2,633 posts

Posted 19 June 2005 - 19:53

Немного отредактировал первое сообщение - написал про более жёсткий фильтр. Хотя, я думаю, надобности в нём особой нет - всё равно прямая ссылка не проходит.
  • 0



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users