我有这个查询:

list[One]=1&list[Two]=2&list[Apple]=fruit



这是正则表达式,用于返回方括号中和等号后的值

preg_match_all('/(?<query>list\[(?<pagename>.*?)\]\=(?<parent>.*?))/',$source,$array);




返回:

One=
Two=
Apple=



等号后的值丢失。我的错在哪里

顺便说一下,此查询是使用jquery的serialize()生成的。有没有更好的方法来解析值?

最佳答案

正如我在评论中所述,您可能需要查看parse_str

但是,如果将最终的.*?更改为[^&]*之类的东西,则可能会遇到更好的运气(假设这是一个GET查询字符串(或某些传真),因为必须从该序列中转出& %26

关于php - preg_match:等号模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5054074/

10-10 07:22