如何在 PHP 中从一个 URL 字符串中获取参数

  1. 在 PHP 中使用 parse_url()parse_str() 函数从一个 URL 字符串中获取参数
  2. 在 PHP 中使用 $_GET 变量从一个 URL 字符串中获取参数

本文将介绍在 PHP 中从 URL 字符串中获取参数的方法。

  • 使用 parse_url() 函数
  • 使用 parse_str() 函数。
  • 使用 $_GET 变量

在 PHP 中使用 parse_url()parse_str() 函数从一个 URL 字符串中获取参数

我们可以使用内置函数 parse_url()parse_str() 函数从一个 URL 字符串中获取参数。这两个函数一起使用来获取参数。函数 parse_url 将把 URL 划分为不同的参数。之后,parse_string 将得到所需的参数。

正确使用 parse_url() 函数的语法如下所示:

parse_url( $url, $component);

内建的函数 parse_url 有两个参数。它的详细参数如下

参数 说明
$url 强制 它是我们要获取参数的 URL。
$component 可选 它用于获取一个特定的 URL 组件。

这个函数返回一个 URL 的组件。如果我们的 URL 格式不正确,函数可能会返回 FALSE

使用 parse_str() 函数的正确语法如下。

parse_str( $string, $result);

内置函数 parse_str 有两个参数。它的详细参数如下。

参数名称 说明
$string 强制 输入字符串,其将被转换为变量。
$result 强制 如果传递了这个参数,变量就会存储在其中。

此函数不返回任何内容。

下面的程序展示了我们如何使用这些函数从一个 URL 字符串中获取参数。

<?php 
$url = "https://testurl.com/test/[email protected]&name=sarah";
$components = parse_url($url);
parse_str($components['query'], $results);
print_r($results); 
?> 

输出:

Array
(
    [email] => [email protected]
    [name] => sarah
)

现在,如果我们只想得到电子邮件参数,我们将在程序中做如下修改。

<?php 
$url = "https://testurl.com/test/[email protected]&name=sarah";
$components = parse_url($url);
parse_str($components['query'], $results);
echo($results['email']); 
?> 

输出:

[email protected]

我们也可以将 $component 参数传递给 parse_url() 函数。

<?php 
$url = "https://testurl.com/test/[email protected]&name=sarah";
$components = parse_url($url, PHP_URL_QUERY);
//$component parameter is PHP_URL_QUERY
parse_str($components, $results);
print_r($results); 
?> 

输出:

Array
(
    [email] => [email protected]
    [name] => sarah
)

在 PHP 中使用 $_GET 变量从一个 URL 字符串中获取参数

在 PHP 中,我们也可以使用 $_GET 变量从一个 URL 字符串中获取参数。它是一个 superglobal 变量,这意味着它在所有的作用域中都可以使用。这个变量从一个 HTML 表单中获取数据,即 URL。

假设表单中的 URL 是 [email protected]&name=sarah。使用这个变量从 URL 字符串获取参数的程序如下。

<?php 
echo $_GET['email'] . $_GET['name']
?> 

输出:

[email protected]
sarah

相关文章 - PHP String

  • 如何在 PHP 中获取字符串的最后一个字符
  • 如何在 PHP 中从字符串中提取数字
  • comments powered by Disqus