【问题标题】:Get the GET variables from a URL String从 URL 字符串中获取 GET 变量
【发布时间】:2011-03-09 08:42:55
【问题描述】:

嘿,假设我有一个 url 刚刚通过我的 php 传递,有没有简单的方法来获取一些正在通过它传递的 GET 变量?这不是页面的实际 url 或任何东西。

就像一个只有一个包含

的字符串

http://www.somesite.com/index.php?url=var&file_id=var&test=var

获取这些变量值的最佳方法是什么?

【问题讨论】:

标签: php variables get


【解决方案1】:

parse_str(parse_url($url, PHP_URL_QUERY), $array),有关 parse_str 的更多信息,请参阅 manpage

【讨论】:

    【解决方案2】:
    $href = 'http://www.somesite.com/index.php?url=var&file_id=var&test=var';
    
    $url = parse_url($href);
    print_r($url);
    /* Array
    (
        [scheme] => http
        [host] => www.somesite.com
        [path] => /index.php
        [query] => url=var&file_id=var&test=var
    ) */
    
    $query = array();
    parse_str($url['query'], $query);
    
    print_r($query);
    /* Array
    (
        [url] => var
        [file_id] => var
        [test] => var
    ) */
    

    【讨论】:

    • 如果你有一个 CSS 而不是 PHP 文件,这似乎不起作用。可能做错了什么。
    • php 代码永远不会在 css 文件中工作(除非您已在服务器配置中将 css 文件注册为 application/x-httpd-php 或等效文件,您可能不应该这样做。
    • 是的,我明白了。我的意思是我有一个用style.css?v=12345 引用的CSS 文件,v 是强制刷新缓存浏览器端的版本号。我想做的是删除或提取参数。让它按照我现在想要的方式工作。
    【解决方案3】:

    这实际上比编写任何自定义函数要容易得多。

    $queryStr = $_SERVER['QUERY_STRING'];

    【讨论】:

    • 这需要获取和发布变量,对吧?在这种情况下,您最终可能会得到更多的参数,而不仅仅是从 URL 中获取变量。如果您改为使用 REDIRECT_QUERY_STRING,那么您只能从 URL 获取参数。
    【解决方案4】:

    我会使用类似的东西:

    preg_match_all('/(\?|&)([^=]+=[^&]*)/', $string , $matches);
    

    然后

    print_r($matches[2]);
    /*
    Array
    (
        [0] => url=var
        [1] => file_id=var
        [2] => test=var
    )
    */
    

    希望它可以工作 4 u。

    【讨论】:

      【解决方案5】:

      “PHP GET”的快速谷歌给出了 w3schools 的这个页面:

      http://www.w3schools.com/php/php_get.asp

      【讨论】:

      • 他不是在询问检索当前页面的参数。相反,他想从某个任意 URL (即某个字符串)解析查询字符串。
      • @Anon 发布了我需要的内容。谢谢朋友。
      猜你喜欢
      • 2019-01-31
      • 2012-03-17
      • 2020-12-10
      • 2011-04-02
      • 2021-05-17
      • 2022-10-21
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多