我有一个旧的大项目,其中许多数组的定义没有引号。
一个例子是:
$a=$row["string1"];
$b=$row['string2'];
$c=$row[string3];
echo "Bye bye";
$var="I am $row['string4']!";
$var="I am $row[string5]!";
$row[string6];
$row[string7
];
$arr[]="I am $row[string8]!";
$arr[]=["message", "I am $row[string8]"];
if (true) {
echo "Hello [how are you]".
}
$myarr[string9]="bye";
我需要一个正则表达式,它匹配没有引号的数组,以便在preg_replace()函数中包含引号。
我尝试使用这个正则表达式/(?<=\[)([^'"].*[^'"])(?=\])/g
,但它不只是选择数组。
如果我使用/(?<=\$row\[)([^'"].*[^'"])(?=\])/g
,它可以正常工作,但是如果数组不命名为$row,它就不能工作
在我的示例中,只有字符串3、字符串5、字符串6、字符串7和字符串8在作用域中,并且$row[string3]
将为$row["string3"]
提前感谢!!
1条答案
按热度按时间xwbd5t1u1#
UPDATE:我找到了这个正则表达式
您可以使用phpstorm进行替换,替换模式如下
示例:
https://i.stack.imgur.com/AYRjK.png