Проверка на стоп-слова в PHP
Сегодня мы разберем несложный пример, который позволит нам проверять, существует ли в тексте какие-нибудь стоп-слова. Это очень удобно использовать при защите сайта, а так же устанавливать в комментариях анти-мат.
Рассмотрим код:
$i = 0;
$fp = fopen("stopworlds.txt", "r"); // Открываем файл в режиме чтения
if($fp)
{
while (!feof($fp))
{
$words= fgets($fp, 10000);
$pos = strpos($all_text, trim($words));
if ($pos !== false)
$i++;
}
}
if($i>0)
{
$error = 0;
}
А теперь попробуем разобраться с основными строчками кода:
$fp = fopen("stopworlds.txt", "r") - открываем файл stopworlds.txt, в котором находится список слов, которые не должны вводить пользователи
При успешном открытии файла мы начинаем цикл, в котором перебираем все стоп-слова.
$pos = strpos($all_text, trim($words)); - здесь мы проверяем, существует ли в нашей переменной $all_text (это наш текст) какое-нибудь стоп-слово.
if ($pos !== false) - если есть, тогда переменной $i мы прибавляем единицу.
Ну и последней проверкой мы узнаем, если $i>0 (стоп-слова есть в предложение), тогда переменной $error присваиваем 0. Но вы можете сделать что-нибудь свое, например функцию выхода exit("у нас не матерятся");
Рекомендуем почитать