Некорректный фильтр нецензурных выражений

SpaceInvader
На сайте с 16.01.2013
Offline
29
839

Всем доброго времени суток. Установил фильтр неценз. выражений и появилась проблема у культурных пользователей. Когда в комменте присутств. слово состоящее из неценз. выражения, этот фильтр срабатывает и не пропускает коммент. Например: барсуки Как-то можно в коде прописать только точное вхождение целых слов? Заранее спасибо.

$aFilterComments = array('нецензурное выражение','жесткий мат');


foreach($aFilterComments as $sWord)
{
if (stripos($_POST['comments'],$sWord)!==false)
$bStopSpam = true;
}
$aFilterNames = array('Download');
foreach($aFilterNames as $sName)
{
if ($name==$sName)
$bStopSpam = true;
}
if ($bStopSpam === true)
{
$stop[] = 'Ругаться нехорошо';
$CN_HALT = true;
}
RO
На сайте с 13.07.2009
Offline
88
#1

$aFilterComments = array(' нецензурное выражение ',' жесткий мат ');

в данном случае решением будет добавить пробел, до и после каждого мата.

TF-Studio
На сайте с 17.08.2010
Offline
334
#2

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

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
Ayavryk
На сайте с 11.10.2003
Offline
209
#3

При таком подходе вы будете пилить свой фильтр до посинения.

Посмотрите лучше:

http://forum.dklab.ru/viewtopic.php?t=26137 - он работает на морфологии. Сбоит крайне редко.

Кстати , слово "сука" - не матерное.

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий