Как я могу получить определенную часть текущего URL? например, мой текущий URL-адрес:
http://something.com/index.php?path=/something1/something2/something3/
Ну, мне нужно напечатать something2
с php.
Благодаря!
Вы используете функцию explode
в PHP, чтобы отделить URL по первому параметру (в данном случае косую черту). Для достижения своей цели вы можете использовать;
$url = "http://something.com/index.php?path=/something1/something2/something3/"; $parts = explode('/', $url); $value = $parts[count($parts) - 2];
Все эти другие примеры, похоже, сосредоточены на вашем конкретном примере. Я предполагаю, что вам нужен более гибкий способ сделать это, так как подход, основанный на взрыве, очень хрупок, если ваш URL изменяется, и вам все равно нужно получить данные из параметра path
в строке запроса.
Я parse_url()
parse_str()
функции parse_url()
и parse_str()
.
// your URL string $url = 'http://something.com/index.php?path=/something1/something2/something3/'; // get the query string (which holds your data) $query_string = parse_url($url, PHP_URL_QUERY); // load the parameters in the query string into an array $param_array = array(); parse_str($query_string, $param_array); // now you can look in the array to deal with whatever parameter you find useful. In this case 'path' $path = $param_array['path']; // now $path holds something like '/something1/something2/something3/' // you can use explode or whatever else you like to get at this value. $path_parts = explode('/', trim($path, '/')); // see the value you are interested in var_dump($path_parts);
Вы могли бы сделать что-то вроде этого:
$url = explode('/', 'http://something.com/index.php?path=/something1/something2/something3/'); echo $url[5];