public function containsString($needle, $haystack = array(), $recurse = true)
    {
        /** @var \Concrete\Core\Utility\Service\Validation\Strings $stringHelper */
        $stringHelper = Core::make('helper/validation/strings');
        if (!$stringHelper->notempty($needle)) {
            return false;
        }
        $arr = (!is_array($haystack)) ? array($haystack) : $haystack; // turn the string into an array
        foreach ($arr as $item) {
            if ($stringHelper->notempty($item) && strstr($item, $needle) !== false) {
                return true;
            } elseif ($recurse && is_array($item) && $this->containsString($needle, $item)) {
                return true;
            }
        }

        return false;
    }