2014-08-29 179 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