public static function hasSubstring($haystack, $needles, $characterEncoding = 'UTF-8')
    {
        foreach ((array)$needles as $needle) {
            if ($needle == '') {
                continue;
            }

            if (mb_strpos($haystack, $needle, 0, $characterEncoding) !== false) {
                return true;
            }
        }

        return false;
    }