@zevem
Стрелец

Как сделать поиск в строке со стоп словом?

Здравствуйте!
Нужно сделать поиск слова в строке со стоп словами.

Например, ищем в строке слово "тени", но если в этой строке есть еще слова "для бровей", то вернуть ошибку, если нет, то true.

Стоп слова у меня в массиве $stops.

Пробовал делать так:

$stop_words = "";
                     
foreach($stops as $stop) {
$stop_words .= "&& strpos($description,".$stop.")=== false ";
}

if(strpos($description, "тени") !== false  $stop_words) { 

}


Выдает ошибку в строке $stop_words .= "&& strpos($description,".$stop.")=== false ";

Подскажите, как лучше реализовать
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
gscraft
@gscraft
Программист, философ
Я несколько минут не могу прочитать код, что происходит? Что это за конструкции, что пытаетесь сделать с переменной $stop_words после false и погружая в нее текст "&& strpos($description, для бровей)=== false "? Вы текст ошибки пробовали в Yandex Translate закинуть? Банально, ошибки синтаксиса. Навскидку, Вам достаточно:
foreach ($stops as $stop) { // $stop должно быть строкой, разумеется
  if ( mb_strpos($description, 'тени') !== false && mb_strpos($description, $stop) === false ) {
     echo 'Mission complete: ', $description, PHP_EOL;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы