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
Форумы портала PHP.SU :: Версия для печати :: как бороться со спамом?
Форумы портала PHP.SU » PHP » Регулярные выражения » как бороться со спамом?

Страниц (1): [1]
 

1. Win4esteR - 15 Октября, 2015 - 15:34:47 - перейти к сообщению
прощу помощи. нужен код! как вырезать из текста рекламу конкретного сайта? тоесть имеется сайт "сайт.ру". нужно чтобы из сообщения вырезались такие вещи "сайт.ру", "с1а3й2т/ру", "с--а-!й4т, ру" и все в таком роде. очень нужна помощь.
2. DeepVarvar - 15 Октября, 2015 - 16:11:37 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. if (preg_match('/с[^с]*а[^а]*й[^й]*т[^т]*р[^р]*у/iu', $text)) {
  2.     echo 'Реклама сайтару!';
  3. }

Но предупреждаю, будет ложное срабатываение на фразу, например:

$text = 'с майских праздников мы с тобой решили пойти на учебу';

З.Ы.: Учись корректно задавать вопросы ))
(Добавление)
Короче на:
CODE (regexp):
скопировать код в буфер обмена
  1. /с[^с]{0,2}а[^а]{0,2}й[^й]{0,2}т[^т]{0,2}р[^р]{0,2}у/iu

Где двойка -- это глубина проверки (сколько ложных символов между букв можно вставить: от нуля до двух, а если больше двух, то считается что не спам).
3. Win4esteR - 19 Октября, 2015 - 01:08:09 - перейти к сообщению
Большое спасибо!
4. vazonov11 - 27 Октября, 2015 - 09:17:47 - перейти к сообщению
о, тоже пригодится.

 

Powered by ExBB FM 1.0 RC1