【问题标题】:PHP splitting a URL, delimitted by a '=' [closed]PHP拆分URL,由'='分隔[关闭]
【发布时间】:2014-05-22 03:45:10
【问题描述】:

尝试拆分以下示例 URL 的 &file= 之后的值。所以我试图在最后提取数字。有什么建议吗?

http://blablablabla.com/test.php?type=mp4&tv=&file=3797

【问题讨论】:

  • php.net/explode 可以解决问题
  • 如果我理解你的问题,$_GET['file'] 获取文件的值。所以它会让你 3797 到达那里。
  • 完美!谢谢你:)

标签: php html split


【解决方案1】:

您可以通过多种方式做到这一点,例如使用parse_url()

$query = parse_url('http://blablablabla.com/test.php?type=mp4&tv=&file=3797', PHP_URL_QUERY);
parse_str($query, $values);

print_r($values);

输出将是

(
    [type] => mp4
    [tv] => 
    [file] => 3797
)

你也可以使用下面的正则表达式来做到这一点

$str="http://blablablabla.com/test.php?type=mp4&tv=&file=3797";

preg_match_all('/([^?&=#]+)=([^&#]*)/',$str,$matched);

print_r($matched);

输出将是

(
    [0] => Array
        (
            [0] => type=mp4
            [1] => tv=
            [2] => file=3797
        )

    [1] => Array
        (
            [0] => type
            [1] => tv
            [2] => file
        )

    [2] => Array
        (
            [0] => mp4
            [1] => 
            [2] => 3797
        )

)

【讨论】:

    【解决方案2】:

    您可以在消毒的同时执行此操作。

    $file=filter_input(INPUT_GET, "file", FILTER_SANITIZE_STRING) // This will get the data and clean the data too.
    

    如果你不需要消毒,你可以简单地使用它,

    $file=$_GET['file']

    我个人推荐第一种方法。

    【讨论】:

    • 卫生都做了什么?
    猜你喜欢
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多