简体   繁体   中英

Extract first URL Segment from full URL

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

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 (/)
$page = explode('/', substr($_SERVER['REQUEST_URI'], 1), 2);
echo str_replace("-"," ", $page[0]);

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

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

$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.

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

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

and its need to load uri library in Controller

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM