@santavits

Как сделать поиск стоп слов в тексте с помощью php?

Задача следующая:
есть текст он содержится в функции
$text = "тут мой текст";
и есть файл txt со стоп словами
к примеру:
привет
мой
красиво
солнце
тут

как сделать чтобы сверялся поиск слов с файла и с текстом который находится в моей функции $text
если не одного совпадения не найдено, то выводим на экран готово, если одно и более значение совпало, то выводим на экран Ошибка
заранее спасибо

пробовал делать так, но ничего не вышло, на экран выводить типо совпадений не найдено
$text = "Мне нравится запах, мне нравится голос, мне нравится всё. Я тебя нашёл, я тебя нашёл...";
 $i = 0;

$fp = fopen("stop65199290.txt", "r"); // Открываем файл в режиме чтения

if($fp)

    {

        while (!feof($fp))

          {

              $words= fgets($fp, 10000);

                                

              $pos = strpos($text, trim($words));     

              if ($pos !== false)

              $i++;

           }

     }

 if($i>0)

 {

    echo "ошибка";

 }else{
 echo "готово";
 }
  • Вопрос задан
  • 732 просмотра
Пригласить эксперта
Ответы на вопрос 2
Immortal_pony
@Immortal_pony Куратор тега PHP
$text = "тут мой текст";
$stopWords = explode(PHP_EOL, file_get_contents("stop-words.txt"));
$message = "готово":

foreach (explode(" ", $text) as $word) {
    if (in_array($word, $stopWords)) {
        $message = "Ошибка";
        break;
    }
}

echo $message;
Ответ написан
@Yan-s
Стоп слова должны храниться в массиве или переводиться в него. Поиск подстроки необходимо проводить регистронезависимо php.net/manual/ru/function.mb-stripos.php

Пример реализации: sandbox.onlinephpfunctions.com/code/36f235177e1536...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы