我将有一个以下模式的php查询字符串:
?x=a&y=b&z=c
在"?"之后可能有更多参数。x、y、z值将仅由aA-zZ之间的字符组成。然而,a、b、c值可以是任意值。它们还可以包括&个字符或=个字符。有没有任何方法可以通过同时考虑regex和分隔符&并将它们放入关联数组中,如以下所示:
$values = array(x => a, y => b, z => c);
编辑:
我想我应该澄清一下。x可以是诸如note之类的值。而a、b、c可以是诸如http://yay.com/wahoo?wahoo=3&zahoo=5.
正如scrowler所写,parse_str()
可能会起作用,HOWEVER,如果值"也可能包括&characters或=characters",你会怎么说?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);
我想"&"answers"="字符将以某种方式转义,例如使用百分比转义。