如何在php中捕获部分url字符串


How to catch part of url string in php

我有以下URL字符串:

http://example.com/sfm?dir=uploads/sfm/c4ca4238a0b923820dcc509a6f75849b/dir

如何将=之后的所有内容绑定到php变量?

所以我的变量应该包含:

$String = 'uploads/sfm/c4ca4238a0b923820dcc509a6f75849b/dir'

您可以在=之后使用爆炸来获取零件

$str = "http://example.com/sfm?dir=uploads/sfm/c4ca4238a0b923820dcc509a6f75849b/dir";
$strArr = explode("=",$str);
$url = $strArr[1];
echo $url;

一个更灵活的解决方案是使用parse_url,然后使用parse_str:

$url = 'http://example.com/sfm?dir=uploads/sfm/c4ca4238a0b923820dcc509a6f75849b/dir';
$query_string = parse_url($url, PHP_URL_QUERY);
parse_str($query_string, $query_vars);
var_dump($query_vars);

它将为您提供一个数组,其中包含URL可能包含的所有GET参数。

尝试这个

$parts = parse_url('http://example.com/sfm?dir=uploads/sfm/c4ca4238a0b923820dcc509a6f75849b/dir');
parse_str($parts['query'], $query);
echo $query['dir'];