当前位置: 首页 > 知识库问答 >
问题:

如何从URL字符串获取参数?

茅秦斩
2023-03-14

我有一个HTML表单字段< code > $ _ POST[“url”],值是一些URL字符串。

示例值为:

https://example.com/test/1234?email=xyz@test.com
https://example.com/test/1234?basic=2&email=xyz2@test.com
https://example.com/test/1234?email=xyz3@test.com
https://example.com/test/1234?email=xyz4@test.com&testin=123
https://example.com/test/the-page-here/1234?someurl=key&email=xyz5@test.com

等等。

如何仅从这些 URL/值中获取电子邮件参数

请注意,我不是从浏览器地址栏中获取这些字符串的。

共有3个答案

甄德寿
2023-03-14

使用parse_url() 和 parse_str() 方法。parse_url() 会将 URL 字符串解析为其各部分的关联数组。由于您只需要 URL 的单个部分,因此可以使用快捷方式返回仅包含所需部分的字符串值。接下来,parse_str() 将为查询字符串中的每个参数创建变量。我不喜欢污染当前上下文,因此提供第二个参数会将所有变量放入关联数组中。

$url = "https://mysite.com/test/1234?email=xyz4@test.com&testin=123";
$query_str = parse_url($url, PHP_URL_QUERY);
parse_str($query_str, $query_params);
print_r($query_params);

//Output: Array ( [email] => xyz4@test.com [testin] => 123 ) 
柴默
2023-03-14

之后的所有参数都可以使用$_GET数组访问。所以,

echo $_GET['email'];

将从网址中提取电子邮件。

融伯寅
2023-03-14

您可以使用parse_url()parse_str()

$parts = parse_url($url);
parse_str($parts['query'], $query);
echo $query['email'];

如果你想用PHP动态获取$url,看看这个问题:

获取PHP中的完整URL

 类似资料:
  • 我有一个HTML表单字段< code > $ _ POST[“url”],值是一些URL字符串。 示例值为: 等等。 如何仅从这些 URL/值中获取参数? 请注意,我不是从浏览器地址栏中获取这些字符串的。

  • 问题内容: 从格式如下的URL查询字符串中获取参数的“较少代码”方法是什么? www.mysite.com/category/subcategory?myqueryhash 输出应为: 我知道这种方法: 问题答案: 包含您要查找的数据。 文件资料 **php.net:$** _SERVER-手册

  • 我有url从中我需要得到的值. “TypeError:无法读取未定义的属性'query'”

  • 我有两根绳子 在两种情况下,我应该删除

  • 问题内容: 从服务器重定向后,如何在我的routes.jsx文件中定义路由以从Twitter的单点登录过程生成的URL 捕获参数值? 我尝试使用以下路由配置,但没有捕获上述参数: 问题答案: 反应路由器v3 React Router已经为您解析了位置并将其作为道具传递给RouteComponent。您可以通过访问查询(在URL中的?之后)部分 如果要查找路径参数值(在路由器内部用冒号(:)分隔),

  • 如何在我的routes.jsx文件中定义一个路由来捕获参数值,这些参数值是在从服务器重定向后由Twitter的单点登录进程生成的URL中获得的? 我尝试了以下路由配置,但未捕获提到的参数: