PHP拆分URL,用'='分隔


PHP splitting a URL, delimitted by a '='

试图分割&file=后面的值,用于以下示例URL。所以我试着提取最后的数字。有什么建议吗?

文件

http://blablablabla.com/test.php?type=mp4&电视=,= 3797

您可以使用许多方法来实现,例如使用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
        )
)

您可以将此操作与清理一起执行。

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

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

$file=$_GET['file']

我个人推荐第一种方法