0

可能重复:
提取网址的最后一部分

我有一个这样的网址:

http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset

我只想从“Coleman-Family-Cookset”末尾提取产品名称

当我使用 parse_url 和 print_r 时,我最终得到以下结果:

Array (
    [scheme] => http
    [host] => www.domain.co.uk
    [path] => /product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset
) 

然后我该如何修剪“Coleman-Family-Cookset”?

提前致谢

4

4 回答 4

7

上面的所有答案都有效,但都使用了不必要的数组和正则表达式,你需要一个可以使用的 last 位置,/strrpos()不是你可以使用 提取字符串substr()

substr( $url, 0, strrpos( $url, '/'));

您可能需要在+/- 1之后添加strrpos()

这是比使用preg_*or更有效的解决方案explode,但所有工作都有效。

于 2012-02-19T12:30:03.067 回答
1
$url = 'http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset';
$url = explode('/', $url);
$last = array_pop($url);
echo $last;
于 2012-02-19T12:23:10.453 回答
1
$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);

测试

于 2012-02-19T12:23:26.333 回答
1

您有路径变量(来自如上所示的数组)。使用以下内容:

$tobestripped=$<the array name>['path']; //<<-the entire path that is
$exploded=explode("/", $tobestripped);
$lastpart=array_pop($exploded);

希望这可以帮助。

于 2012-02-19T12:23:52.370 回答