Parse a query string into a QueryString object
string $query Query string to parse:
public static function fromString($query) {
$q = new static();
if (!empty($query)) {
if ($query[0] == '?') {
$query = substr($query, 1);
}
foreach (explode('&', $query) as $kvp) {
$parts = explode('=', $kvp, 2);
$key = rawurldecode($parts[0]);
if (substr($key, -2) == '[]') {
$key = substr($key, 0, -2);
}
if (array_key_exists(1, $parts)) {
$q
->add($key, rawurldecode(str_replace('+', '%20', $parts[1])));
}
else {
$q
->add($key, '');
}
}
}
return $q;
}