正则表达式从URL获取路径

时间:2012-09-02 12:22:54

标签: php regex

  

可能重复:
  How to get the last path in the url?

我对正则表达式不是很了解,因为我还没有理解它是如何完全正常的以获得正确的结果。我需要一个正则表达式或php函数来去掉一个url的开头,以获得最后一个没有变量的位。

输入: http:// www.site.com/more/more/thepartidneed?part=Idontneed

其他输入:www.site.com/more/more/thepartineed?partidontneed

其他输入:site.com/more/more/partineed

剥离后所需的结果: “thepartineed”

这可能吗?

2 个答案:

答案 0 :(得分:2)

首先,你需要在开头检查给定的网址是否包含http(s):// - 如果没有 - 附加它,然后执行

$parsed_url = parse_url($url);
var_dump($parsed_url);

你会得到这样的东西:

array(3) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(8) "site.com"
  ["path"]=>
  string(20) "/more/more/partineed"
}

如果您只需要最后一点路径

echo array_pop(explode('/', $parsed_url['path']));

答案 1 :(得分:1)

假设输入总是某种url:

.+/([^?]+).*

您的部分应该在标识符1