0

有人可以为我制作一个 FOR NOTEPAD++ 的正则表达式来替换这个查询:

mysql_query($query, $db);

替换为:

$mysqli->query($query)

但是 $query 也可以有另一个变量名,例如 $query_2,所以输出应该是

$mysqli->query($query2)

谢谢!

4

2 回答 2

3

在记事本++ 6.3.2 中工作。这可以解决可能使用的空格和制表符不一致的任何问题。

搜索模式

mysql_query\(\s*\$([^,\s]+)\s*,\s*\$db\s*\);

替代品

\$mysqli->query\(\$\1\);

(确保在替换对话框中选择了正则表达式单选按钮)。

测试文本

mysql_query($query, $db);
mysql_query($SQL , $db);
mysql_query($query2,    $db);
mysql_query( $SQL_v4, $db );
mysql_query($AnotherSQL,$db);

输出文本

$mysqli->query($query);
$mysqli->query($SQL);
$mysqli->query($query2);
$mysqli->query($SQL_v4);
$mysqli->query($AnotherSQL);
于 2013-07-19T14:48:59.667 回答
1
$input = 'mysql_query($asdf, $db);';
$input = preg_replace('/mysql_query\(\$(\w+), \$db\);/','\$mysqli->query(\$$1);',$input);
echo $input;

输出$mysqli->query($asdf);

编辑:

在记事本++上,试试这个:

  1. 找什么:mysql_query\(\$(\w+), *\$db\);

  2. 用。。。来代替:\$mysqli->query\(\$$1\);

于 2013-07-18T22:25:50.903 回答