Php 在使用DreamWeaver中的正则表达式时,在方括号中不存在的文本周围包含引号

Php 在使用DreamWeaver中的正则表达式时,在方括号中不存在的文本周围包含引号,php,regex,dreamweaver,regex-negation,Php,Regex,Dreamweaver,Regex Negation,我有一些php代码,可以从表单中提取变量,例如: $refno=$\u POST[refno] 这实际上是一个错误,因为refno(常量)应该是“refno”字符串。在旧版本的PHP中,它默认为“refno”,没有问题,但最新版本会在屏幕上显示一条通知,说明它正在默认 我需要使用DreamWeaver检查所有模块并替换: 出现任何[*] 使用['*'] 但排除已经有单引号的情况 我在论坛上搜索过类似的案例,但没有成功 我是这样想的: /\[(?!)/x 查找没有任何引号的方括号,但没有找到它们

我有一些php代码,可以从表单中提取变量,例如:

$refno=$\u POST[refno]

这实际上是一个错误,因为refno(常量)应该是“refno”字符串。在旧版本的PHP中,它默认为“refno”,没有问题,但最新版本会在屏幕上显示一条通知,说明它正在默认

我需要使用DreamWeaver检查所有模块并替换:

出现任何
[*]

使用
['*']

但排除已经有单引号的情况

我在论坛上搜索过类似的案例,但没有成功

我是这样想的:

/\[(?!)/x

查找没有任何引号的方括号,但没有找到它们


我是regex的新手。

我不使用dreamweaver,但请尝试以下方法:

find: \[([^'\]]+)\]
replace: ['$1']

这就是第一部分。它找到[refno]并将其替换为['refno'],但当它找到['first']时,它将其更改为['first']这不是我想要的。我希望后者保持原样。谢谢你迄今为止的帮助。@Geoff:你测试过吗?@Casimir_et_Hippolyte是的。正如我所说,它适用于没有引号的文本。它找到文本并插入引号,但如果文本周围已经有引号,它会插入第二对引号。我真的想要忽略方括号并用引号括起来的文本是很困难的。我发现只需浏览相关模块并手动编辑它们是最简单的。此外,我还可以在php.ini中为生产系统关闭通知报告。