Extract first URL Segment from full URL

2020-07-10 03:16发布

问题:

How can the first URL segment be extracted from the full URL? The first URL segment should be cleaned to replace the - with a space .

Full URL

http://www.domain.com/River-Island/River-Island-T-Shirt-with-Triangle-Girl-Print/Prod/pgeproduct.aspx?iid=2516020

Desired Outpput

River Island

回答1:

You can use:

$url = 'http://www.domain.com/River-Island/River-Island-T-Shirt-with-Triangle-Girl-Print/Prod/pgeproduct.aspx?iid=2516020';
$parsed = parse_url($url);
$path = $parsed['path'];
$path_parts = explode('/', $path);
$desired_output = $path_parts[1]; // 1, because the string begins with slash (/)


回答2:

$page = explode('/', substr($_SERVER['REQUEST_URI'], 1), 2);
echo str_replace("-"," ", $page[0]);


回答3:

Try this: /http:\/\/[^\/]+\/([^\/]+)/i

See here: http://regex101.com/r/lB9jN7



回答4:

$path = parse_url($url, PHP_URL_PATH);
$first = substr($path, 0, strpos($path, '/'));

Check the docs for these three functions. Maybe you'll have to strip a slash from the beginning of the path, I'm not sure.



回答5:

have you using CodeIgniter ...???then it could be

$this->uri->segment(segment number of url);

and its need to load uri library in Controller



标签: php regex slug