如何从PHP中的URL字符串中提取查询参数?

sor*_*ist 18 php regex

用户可以在我的网站上使用HTML表单输入URL,因此他们可能会输入如下内容:http://www.example.com?test = 123&random = abc,它可以是任何内容.我需要提取某个查询参数的值,在本例中为'test'(值为123).有没有办法做到这一点?

Arn*_*anc 52

你可以使用parse_urlparse_str喜欢这样:

$query = parse_url('http://www.example.com?test=123&random=abc', PHP_URL_QUERY);
parse_str($query, $params);
$test = $params['test'];
Run Code Online (Sandbox Code Playgroud)

parse_url允许在不同的部分(方案,主机,路径,查询等)拆分URL; 这里我们用它来获取查询(test=123&random=abc).然后我们可以解析查询parse_str.