note 70205 deleted from function.parse-url by bobby

From: Date: Fri, 06 Oct 2006 17:56:21 +0000
Subject: note 70205 deleted from function.parse-url by bobby
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-118140@lists.php.net to get a copy of this message
Note Submitter: dawalama at gmail dot com ---- There was a typo in change_query Here is the corrected version function change_query($action, $var = NULL, $uri = NULL) { if (($action == "+" && !is_array($var)) || ($action == "-" && $var == "") || $var == NULL) { return FALSE; } if (is_null($uri)) { //Piece together uri string $beginning = $_SERVER['PHP_SELF']; $ending = (isset ($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : ''; } else { $qstart = strpos($uri, '?'); if ($qstart === false) { $beginning = $uri; //$ending is '' anyway $ending = ""; } else { $beginning = substr($uri, 0, $qstart); $ending = substr($uri, $qstart); } } $vals = array (); $ending = str_replace('?', '', $ending); parse_str($ending, $vals); switch ($action) { case '+' : $vals[$var[0]] = $var[1]; break; case '-' : if (isset ($vals[$var])) { unset ($vals[$var]); } break; default : break; } $params = array(); foreach ($vals as $k => $value) { $params[] = $k."=".urlencode($value); } $result = $beginning . (count($params) ? '?' . implode("&", $params) : ''); return $result; }

« previous php.notes (#118140) next »