【问题标题】:Include quotes around text between square brackets where none exist using regex in DreamWeaver在 DreamWeaver 中使用正则表达式在方括号之间的文本周围包含引号
【发布时间】:2013-09-08 12:30:27
【问题描述】:

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

$refno = $_POST[refno];

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

我需要用 DreamWeaver 浏览所有模块并替换:

[*] 的任何出现

['*']

但排除已经存在单引号的任何情况。

我已经在论坛中搜索过类似的案例,但没有成功。

我是这样想的:

/\[(?!')/x

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

我是正则表达式的新手。

【问题讨论】:

    标签: php regex dreamweaver regex-negation


    【解决方案1】:

    我不使用dreamweaver,但试试这个:

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

    【讨论】:

    • 这是第一部分。它找到 [refno] 并将其替换为 ['refno'] 但是当它找到 ['first'] 时,它会将其更改为 [''first''] 这不是我想要的。我希望后者保持原样。感谢您迄今为止的帮助。
    • @Geoff:你测试过吗?
    • @Casimir_et_Hippolyte 是的,我有。正如我所说,它适用于不带引号的文本。它找到文本并插入引号,但如果文本周围已经有引号,它会插入第二对引号。我真的希望它忽略带有引号的方括号。
    • 我发现最简单的方法是浏览相关模块并手动编辑它们。我也可以在生产系统的 php.ini 中关闭通知报告。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 2011-01-25
    • 2011-01-25
    相关资源
    最近更新 更多