note 29261 deleted from function.parse-url by philip

From: Date: Mon, 27 Mar 2006 20:49:44 +0000
Subject: note 29261 deleted from function.parse-url by philip
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-106778@lists.php.net to get a copy of this message
Note Submitter: Daniel Malament ---- My version of the glue function, and adding/removing parts of query strings... function unparse_url($parts_arr) { if (strcmp($parts_arr['scheme'], '') != 0) { $ret_url = $parts_arr['scheme'] . '://'; } $ret_url .= $parts_arr['user']; if (strcmp($parts_arr['pass'], '') != 0) { $ret_url .= ':' . $parts_arr['pass']; } if ((strcmp($parts_arr['user'], '') != 0) || (strcmp($parts_arr['pass'], '') != 0)) { $ret_url .= '@'; } $ret_url .= $parts_arr['host']; if (strcmp($parts_arr['port'], '') != 0) { $ret_url .= ':' . $parts_arr['port']; } $ret_url .= $parts_arr['path']; if (strcmp($parts_arr['query'], '') != 0) { $ret_url .= '?' . $parts_arr['query']; } if (strcmp($parts_arr['fragment'], '') != 0) { $ret_url .= '#' . $parts_arr['fragment']; } return $ret_url; } function add_query_arg($url, $arg, $val) { $parts_arr = parse_url($url); if (strcmp($parts_arr['query'], '') != 0) $parts_arr['query'] .= '&'; $parts_arr['query'] .= $arg . '=' . $val; return unparse_url($parts_arr); } function remove_query_arg($url, $arg) { $parts_arr = parse_url($url); if (!strcmp($parts_arr['query'], '')) return $url; $query_arr = explode('&', $parts_arr['query']); foreach ($query_arr as $k => $v) { if ((preg_match('/^'.$arg.'=/', $v)) || (preg_match('/^'.$arg.'$/', $v))) { unset($query_arr[$k]); } } $parts_arr['query'] = implode('&', $query_arr); return unparse_url($parts_arr); }

« previous php.notes (#106778) next »