正则表达式从URL获取路径


Regular expression to get the path from an URL

可能重复:
如何获取url中的最后一个路径?

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

输入:http://www.site.com/more/more/thepartidneed?part=已识别

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

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

剥离后所需的结果:"部分需要"

这可能吗?

首先,您需要检查给定的URL是否在开头包含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']));

假设输入总是某种url:

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

您的零件应在标识符1 中