【发布时间】:2014-05-22 03:45:10
【问题描述】:
尝试拆分以下示例 URL 的 &file= 之后的值。所以我试图在最后提取数字。有什么建议吗?
【问题讨论】:
-
php.net/explode 可以解决问题
-
如果我理解你的问题,
$_GET['file']获取文件的值。所以它会让你 3797 到达那里。 -
完美!谢谢你:)
尝试拆分以下示例 URL 的 &file= 之后的值。所以我试图在最后提取数字。有什么建议吗?
【问题讨论】:
$_GET['file'] 获取文件的值。所以它会让你 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']
我个人推荐第一种方法。
【讨论】: