Revision: 5165
Updated Code
at February 16, 2008 05:51 by dbug13
Updated Code
<?php
$x = "/blog/index/1?foo=2&bar=4";
//$x = "/blog/index/1";
$x = preg_replace('#^/(.*)#', "$1", $x );
$url_data = explode("?", $x);
$url_part = $url_data[0];
$query_part = "";
$query_parms = array();
if(count($url_data) > 1){
$query_part = $url_data[1];
}
// parse url part
$temp_url_parts = explode("/", $url_part);
$controller = "";
$action = "";
$id = "";
if (count($temp_url_parts) ){
$controller = $temp_url_parts[0];
if (count($temp_url_parts) > 1){
$action = $temp_url_parts[1];
}
if (count($temp_url_parts) > 2){
$id = $temp_url_parts[2];
}
}
// parse query params
if (count($url_data) > 1){
$query_part = $url_data[1];
$temp_query_parts = explode("&", $query_part);
foreach($temp_query_parts as $q){
$temp = explode("=", $q);
$key = $temp[0];
$value = $temp[1];
$query_parms[$key] = $value;
}
}
$parms = array(
"controller" => $controller,
"action" => $action,
"id" => $id,
"get" => $query_parms,
"post" => $_POST
);
print_r($parms);
?>
Revision: 5164
Updated Code
at February 15, 2008 17:02 by dbug13
Updated Code
<?php
$x = "/blog/index/1?foo=2&bar=4";
//$x = "/blog/index/1";
$x = preg_replace('#^/(.*)#', "$1", $x );
$data = explode("/", $x);
$query_parms = array();
$id_data = explode("?", $data[count($data)-1]);
$id = $id_data[0];
if (count($id_data) > 1){
$query_data = $id_data[1];
$query_data = explode("&", $query_data);
foreach($query_data as $q){
$temp = explode("=", $q);
$key = $temp[0];
$value = $temp[1];
$query_parms[$key] = $value;
}
}
$params = array(
"controller" => $data[0],
"action" => $data[1],
"id" => $id,
"get" => $query_parms,
"post" => $_POST
);
print_r($params);
?>
Revision: 5163
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 15, 2008 17:00 by dbug13
Initial Code
<?php
$x = "/blog/index/1?foo=2&bar=4";
//$x = "/blog/index/1";
$x = preg_replace('#^/(.*)#', "$1", $x );
$data = explode("/", $x);
$query_parms = array();
$id_data = explode("?", $data[count($data)-1]);
$id = $id_data[0];
if (count($id_data) > 1){
$query_data = $id_data[1];
$query_data = explode("&", $query_data);
foreach($query_data as $q){
$temp = explode("=", $q);
$key = $temp[0];
$value = $temp[1];
$query_parms[$key] = $value;
}
}
$params = array(
"controller" => $data[0],
"action" => $data[1],
"id" => $id,
"get" => $query_parms,
"post" => $_POST
);
print_r($params);
?>
Initial URL
Initial Description
Initial Title
PHP URL parsing
Initial Tags
url, php, textmate
Initial Language
PHP