Forum Webscript.Ru

Программирование => Регулярные выражения => Тема начата: tarya от 15 Марта 2004, 14:22:01

Название: Анти спам
Отправлено: tarya от 15 Марта 2004, 14:22:01
привет!

У меня есть чат и сейчас я нарабатываю новое обновление, в котором хочу внести новую функция по удалению повторяющихся символов и групп символов (сокращенное ввседение смайиков).

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


Благодарствую за помошь.

С уважением, Таря
Название: Анти спам
Отправлено: Yukko от 15 Марта 2004, 19:22:36
tarya
скорее всего не антиспам, а антифлуд :)

сложно прийдется... потому что
сложно прийдется... потому что сложно прийдется... потому что сложно прийдется... потому что

:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)
равно как и
сообщения из одного повторяющегося символа прийдется фильтровать ;)

Подумаю.
Название: Анти спам
Отправлено: Макс от 18 Марта 2004, 13:51:30
имхо одним регекспом здесь не обойдешься.
Вот мой вариант для повторяющихся слов/словосочетаний


//$a = "да да да да";
$a = "потому что сложно прийдется... потому что сложно прийдется... потому что";
echo preg_replace("~(\\\\b.+\\\\b\\\\s*)+\\\\s*\\\\\\\\1~s", "\\\\\\\\1", $a);

конечно же вариант:
Цитировать
потому что
сложно прийдется... потому что сложно прийдется...
он не фильтрует