我正在寻找一个可以用“->”替换所有“[”的正则表达式,但前提是它后面没有跟“]”。
并同时将所有“]”替换为空,但仅当它们不在“[”旁边时才替换
换句话说,“test[hi][]”将变成“test->hi[]”
谢谢;)
我真的不知道该怎么做 ;)
最佳答案
我假设括号之间的内容遵循 PHP variable naming conventions (即字母、数字、下划线)并且您的代码有效(例如没有 $test['five]
)。
echo preg_replace('/\[[\'"]?(\w+)[\'"]?\]/', '->\1', $input);
这应该处理:
test[one]
test['two']
test["three"]
但不是:
test[$four]
关于php - 正则表达式将 [ 替换为 -> 根据条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11434465/