PHP-更改字符串非常快

PHP-更改字符串非常快,php,string,string-formatting,Php,String,String Formatting,好的,尝试这样更改字符串: [topic]=2[board]=2 要返回此文件,请执行以下操作: [topic][board]=2 在上述情况下,我将使用一个等于[topic]的字符串变量和另一个等于[topic]=2[board]=2 但在所有情况下都需要这样做。。。更多的例子如下: profile[area]=account[u]=1 应将此邮件退回: profile[area][u]=1 在上述情况下,我将使用一个等于profile的字符串变量和另一个等于profile[area]

好的,尝试这样更改字符串:

[topic]=2[board]=2
要返回此文件,请执行以下操作:

[topic][board]=2
在上述情况下,我将使用一个等于
[topic]
的字符串变量和另一个等于
[topic]=2[board]=2

但在所有情况下都需要这样做。。。更多的例子如下:

profile[area]=account[u]=1
应将此邮件退回:

profile[area][u]=1
在上述情况下,我将使用一个等于
profile
的字符串变量和另一个等于
profile[area]=account[u]=1

另一个例子:

moderate[area]=groups[sa]=requests
应该是这样的:

moderate[area][sa]=requests
在上述情况下,我将使用一个等于
mediate
的字符串变量和另一个等于
mediate[area]=groups[sa]=requests

还有一个:

[board]=1
应返回:

[board]=1
在上述情况下,我将使用一个等于
[board]
的字符串变量和另一个等于
[board]=1

基本上,它需要能够做的是去掉介于第一个和第二个括号之间的文本(如果第二个括号只存在)。它不应影响任何第三、第四、第五方括号。只有第一个和第二个括号

谁能帮我一下吗


谢谢:)

这里有一个有效的正则表达式:

(?<=\])\=[^\[\r\n]*(?=\[)

(?另一个正则表达式,设计用于
preg\u replace()


首先,sting n的来源是什么?我讨厌正则表达式,我确信这正是它所需要的。@Dagon-字符串来自$\u从URL获取值。我需要将它与数据库中存储的语法相匹配,该语法告诉软件它们在哪个页面上,以便加载特定的布局。但这不能仅仅使用URL,因为我们处理的是通过$\u get返回的变量,我们需要它比URL更灵活。哇,这太棒了。很有魅力!不确定这一个和BloodyWorld发布的有什么区别。我已经更新了它,解释了正则表达式的作用。希望这有帮助!哇,我已经测试过了几乎每一种可能性都有,到目前为止都完美无缺。非常感谢!!!:)
preg_replace("/(?<=\])\=[^\[\Z]*(?=\[)/", "", $target);
preg_replace('/^([a-z]+)?(\[[a-z]+\])(.*)(\[(.*))$/Uis', '$1$2$4', $yourData);