Unlimited HostingFree Drupal ThemesFree Drupal Themes

PostHeaderIcon Проверка на стоп-слова в 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("у нас не матерятся");

Поиск
Rambler's Top100 Яндекс.Метрика