Как в php найти слово из массива в заданной строке?
php.net/manual/ru/function.strstr.php php.net/manual/ru/function.strpos.php можно использовать в цикле
php.net/manual/ru/book.strings.php
И пример со страницы доки<?php
function strpos_array($haystack, $needles) {
    if ( is_array($needles) ) {
        foreach ($needles as $str) {
            if ( is_array($str) ) {
                $pos = strpos_array($haystack, $str);
            } else {
                $pos = strpos($haystack, $str);
            }
            if ($pos !== FALSE) {
                return $pos;
            }
        }
    } else {
        return strpos($haystack, $needles);
    }
}

// Test
echo strpos_array('This is a test', array('test', 'drive')); // Output is 10
Если не ошибаюсь - так как вы хотите не сделать.
Используйте array_filter с preg_match, либо разбейте строку на слова и array_intersect_assoc