public static function vcard_quote($s, $sep = ';')
    {
        if (is_array($s)) {
            foreach ($s as $part) {
                $r[] = self::vcard_quote($part, $sep);
            }
            return(implode($sep, (array)$r));
        }

        return strtr($s, array('\\' => '\\\\', "\r" => '', "\n" => '\n', $sep => '\\'.$sep));
    }