parseQueryString() public static method

This function parses a query string into an array, similar to the way the builtin 'parse_str' works, except it doesn't handle arrays, and it doesn't do "magic quotes". Query parameters without values will be set to an empty string.
Author: Olav Morken, UNINETT AS (olav.morken@uninett.no)
public static parseQueryString ( string $query_string ) : array
$query_string string The query string which should be parsed.
return array The query string as an associative array.
 /**
  * @param string $url
  * @param array $parameters
  * @return string
  */
 public static function addQueryParametersToUrl($url, array $parameters)
 {
     if (count($parameters) > 0) {
         $fragmentStart = strpos($url, '#');
         if ($fragmentStart !== false) {
             //strip fragment if any
             $fragment = substr($url, $fragmentStart);
             $url = substr($url, 0, $fragmentStart);
         } else {
             $fragment = '';
         }
         $queryStart = strpos($url, '?');
         if ($queryStart !== false) {
             //strip query if any
             $query = \SimpleSAML\Utils\HTTP::parseQueryString(substr($url, $queryStart + 1));
             $url = substr($url, 0, $queryStart);
         } else {
             $query = array();
         }
         $query = array_merge($query, $parameters);
         $url .= '?' . http_build_query($query, '', '&') . $fragment;
     }
     return $url;
 }
Example #2
0
 /**
  * @deprecated This method will be removed in SSP 2.0. Please use SimpleSAML\Utils\HTTP::parseQueryString() instead.
  */
 public static function parseQueryString($query_string)
 {
     return \SimpleSAML\Utils\HTTP::parseQueryString($query_string);
 }