让我们说我的请求网址:
http://google.com?asdgeez~user=USERNAME~hash=SECRET_TOKKEN
我想选择数据,如$ data [1],$ data [2],$ data [3] 它应该看起来像:
Array
(
[0] => http://google.com?asdgeez
[1] => USERNAME
[2] => SECRET_TOKKEN
)
所以基本上它需要删除 ~user = 和 ~hash = 部分。 对于功能使用,它可以帮助我分别验证每个值。
任何想法怎么做?
答案 0 :(得分:0)
嗯......你可以这样试试:
$data = preg_split('#~(:?\w+=)?#', $_SERVER['REQUEST_URI']);
答案 1 :(得分:0)
尝试使用regexp:
$input = 'http://google.com?asdgeez~user=USERNAME~hash=SECRET_TOKKEN';
preg_match('/^(.*?)~\w+=(.*?)~\w+=(.*)$/', $input, $matches);
var_dump($matches);
/*
array(4) {
[0]=>
string(58) "http://google.com?asdgeez~user=USERNAME~hash=SECRET_TOKKEN"
[1]=>
string(25) "http://google.com?asdgeez"
[2]=>
string(8) "USERNAME"
[3]=>
string(13) "SECRET_TOKKEN"
}
*/
答案 2 :(得分:0)
$uri = "http://google.com?asdgeez~user=USERNAME~hash=SECRET_TOKKEN";
$str1 = explode('~user=', $uri);
$str2 = explode('~hash=', $str1[1]);
$final = array_merge($str1[0], $str2[0], $str2[1]);