我正在开发一个项目,需要将url中第一个?
之后的所有内容存储到新的php变量中。
我知道可以通过strpos
函数来完成,但我很困惑,不知道该怎么做。
例如,这是我的问题。
如果网址为www.domain.com/abcd?uj=34&kku=oo9
我需要将uj=34&kku=oo9
存储到一个新的php变量中。
$id = substr( $url, strrpos( $url, '?' )+1 );
此功能执行类似的工作并不完全找到最后的?
答案 0 :(得分:2)
注意:strrpos
返回上次出现,strpos
返回第一次出现
您也可以在这种情况下使用parse_url
:
$url = 'www.domain.com/abcd?uj=34&kku=oo9';
$query_string = parse_url($url, PHP_URL_QUERY);
echo $query_string; // uj=34&kku=oo9
答案 1 :(得分:0)
$str = explode("?","www.domain.com/abcd?uj=34&kku=oo9");
echo $str[count($str)-1];
答案 2 :(得分:0)
尝试循环遍历GET数组,如下所示:
end = "";
foreach($_GET as $key=>$value) {
end .= $key . "=" . $value . "&";
}
最后会给你留下额外的&符号,所以一定要在foreach循环后将其修剪掉。
我必须添加一个友好的提醒,永远不要相信用户提交或可以编辑的输入。注意不要以可能让黑客破坏或通过精心制作的URL获取访问权限的方式使用GET值。