note 29261 added to function.parse-url

From: Date: Fri, 07 Feb 2003 15:38:12 +0000
Subject: note 29261 added to function.parse-url
Groups: php.notes 
Request: Send a blank email to php-notes+get-43572@lists.php.net to get a copy of this message
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); } -- http://www.php.net/manual/en/function.parse-url.php http://master.php.net/manage/user-notes.php?action=edit+29261 http://master.php.net/manage/user-notes.php?action=delete+29261 http://master.php.net/manage/user-notes.php?action=reject+29261

« previous php.notes (#43572) next »