/** * Remove bad results * @param SearchCriteria $searchCriteria * @param Result[] $result * @return Result[] */ private function filter(SearchCriteria $searchCriteria, array $result) { return array_filter($result, function (Result $e) use($searchCriteria) { $blacklist = explode(" ", $searchCriteria->getTitleBlacklist()); foreach ($blacklist as $term) { if (strpos(strtolower($e->getTitle()), strtolower($term)) !== FALSE) { return false; } } return true; }); }