protected function containString($haystack, $needle, $insensitive = true, $findWords = true)
    {
        if (!is_array($needle)) {
            $needle = array($needle);
        }

        foreach ($needle as $currNeedle) {
            if ($findWords) {
                 $found = $this->wordPos($haystack, $currNeedle, $insensitive) !== false;
            } else {
                if ($insensitive) {
                    $found = stripos($haystack, $currNeedle) !== false;
                } else {
                    $found = strpos($haystack, $currNeedle) !== false;
                }
            }

            if ($found) {
                return true;
            }
        }

        return false;
    }