我有这个查询:
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/