去掉 url 的最后一部分

发布于 2025-01-07 13:37:50 字数 706 浏览 1 评论 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”末尾?

提前致谢

Possible Duplicate:
extract last part of a url

I have a url like this:

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

I want extract just the product name off the end "Coleman-Family-Cookset"

When I use parse_url and print_r I end up with the following:

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

How do I then trim "Coleman-Family-Cookset" off the end?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

天邊彩虹 2025-01-14 13:37:50

上面的所有答案都有效,但都使用了不必要的数组和正则表达式,您需要最后一个 / 的位置,您可以使用 strrpos() 并且您可以使用 substr()

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

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

这是比使用 preg_*< 更有效的解决方案/code> 或 explode,都可以。

All the answers above works but all use unnecessary arrays and regular expressions, you need a position of last / which you can get with strrpos() and than you can extract string with substr():

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

You'll maybe have to add +/- 1 after strrpos()

This is much more effective solution than using preg_* or explode, all work though.

煮酒 2025-01-14 13:37:50
$url = 'http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset';
$url = explode('/', $url);
$last = array_pop($url);
echo $last;
$url = 'http://www.domain.co.uk/product/SportingGoods/Cookware/1/B000YEU9NA/Coleman-Family-Cookset';
$url = explode('/', $url);
$last = array_pop($url);
echo $last;
千と千尋 2025-01-14 13:37:50

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

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

希望这会有所帮助。

You have the path variable(from the array as shown above).
Use the following:

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

Hope this helps.

灵芸 2025-01-14 13:37:50
$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);

测试

$url = rtrim($url, '/');
preg_match('/([^\/]*)$/', $url, $match);
var_dump($match);

Test

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文