/** * Parses a string by a set of available methods * * Available methods: * - json * - xml * - url * - query * - php * * @param string $string * @param string $mode * @return string */ static function parse($string, $mode = 'json') { if (is_array($string)) { return $string; } switch ($mode) { case 'json': $result = (array) @json_decode($string, true); break; case 'xml': $result = x::parse($string); break; case 'url': $result = (array) @parse_url($string); break; case 'query': if (url::has_query($string)) { $string = self::split($string, '?'); $string = a::last($string); } @parse_str($string, $result); break; case 'php': $result = @unserialize($string); break; default: $result = $string; break; } return $result; }