@rusgayfer

Как сделать правильно проверку на ключевые слова?

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

$sql = $db->dbStream->prepare(" SELECT * FROM `autoposting` WHERE `key_callback` = '82682de0551f7ba4d' LIMIT 1 ");
try { $sql->execute(); } catch (PDOException $error) { trigger_error("Ошибка при работе с базой данных: {$error}"); }
$cal = $sql->fetchAll(PDO::FETCH_ASSOC);


$text = ''; // Тут текст для проверки

// Массив ключевых слов (публикация по ключевым словам)
if($cal[0]['posting_key'] == 1) {
foreach($cal as $calmas) {
// Если есть ключевые слова, то публикуем.
$key_text = explode(",", mb_strtolower($calmas['key_text_posting']));
$key_array = array_merge($key_text);
foreach($key_array as $k) {
$pos = strpos($text, $k);
     }
 } 
 
// Тут проверка, если true то должен продолжать дальше, если false то останавливаем
// У меня примерно так выводит false flase true false false и поэтому не работает, так как после true он продолжает работать и видит false и опять останавливает
if($pos === false) {
   return false; 
   } else { 
    return true; 
  }     

    }


echo 'Продолжает работать';


Проблема в в том, что он находит true, но дальше останавливает, не продолжает работу. Проблема из-за того что у меня наверное массив (ключевые слова вывожу с базы, они там через запятые)
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 1
Playmore
@Playmore
Опытный разработчик
if(false === in_array($word, $keys)){
    break;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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