2014-08-29 236 views
1

分隔开的图案,我将有以下模式的PHP查询字符串:PHP字符串分割由分隔符

?x=a&y=b&z=c 

与之后可能更多的参数“?”。 x,y,z值将只包含aA-zZ之间的字符。然而,a,b,c值可以是字面意思。它们也可能包含&个字符或=个字符。有没有办法分裂X = A模式通过考虑正则表达式和分隔符&并将它们放置到一个关联数组,如下列:

$values = array(x => a, y => b, z => c); 

编辑:

我想我应该澄清。 x可以是诸如note之类的值。而a,b,c可以是诸如http://yay.com/wahoo?wahoo=3&zahoo=5的值。

+5

['parse_str()'](http://php.net/parse_str)应该做的技巧 – 2014-08-29 00:40:21

+0

...或'extract($ _ GET)',虽然这可能有点危险。 – 2014-08-29 00:41:38

回答

0

由于scrowler写道:parse_str()可能做的伎俩,无论其,如果值“也可以包括&字符或=字符”,你会怎么说,如果?x=a&y=b&z=c应被解析为:

$values = array(x => a, y => b, z => c); 或者更确切地说:

$values = array(x => a&y=b, z => c);

或: $values = array(x => a&y=b&z=c);

我猜“&”和“=”字符会以某种方式转义,例如使用percent escaping