У меня есть куча кода, который нужно переходить с PHP mysql_* в mysqli_*
В Sublime Text 2 я легко могу найти find для mysql_ и заменить его на mysqli_
Проблема, с которой я сталкиваюсь, заключается в следующем:
 mysql_query($query, $link_identifier)
против
 mysqli_query($link, $query)
Чтобы сделать что-то хуже, $query - это не всегда имя переменной для строки запроса. У меня может быть:
$q_test = "SELECT `lName` FROM `users` ORDER BY `lName`";
$rstest = mysql_query($q_test, $DB) or die(mysql_error($DB));
и
$q_tester = "SELECT `address` FROM `users_address` ORDER BY `id`";
$rstester = mysql_query($q_tester, $DB) or die(mysql_error($DB));
на той же странице.
Есть ли способ для меня построить макрос в Sublime Text 2, чтобы изменить оба из указанных выше:
$rstest = mysqli_query($DBi, $q_test) or die(mysqli_error($DBi));
$rstester = mysqli_query($DBi, $q_tester) or die(mysqli_error($DBi));
в то же время? Я думаю, что могу использовать регулярное выражение для выполнения этого, я просто не знаю, как и с чего начать.
UPDATE
Итак, после небольшой охоты я обнаружил, что могу найти:
mysql_query\(\$(\w+), \$DB\)
и замените на
mysqli_query\(\$DBi\, \$$1)
 который преобразует
$rstest = mysql_query($q_test, $DB) or die(mysql_error($DB));
to
 $rstest = mysqli_query($DBi, $q_test) or die(mysql_error($DB)); для меня, но...
оказывается, что макрос не может найти и заменить. Есть ли у меня какие-либо опции?
UPDATE
Итак, похоже, что я могу использовать плагин Reg Replace, чтобы выполнить то, что я хочу, даже если у меня больше настроек.
Использование Reg Replace Я могу связать несколько действий поиска и замены и привязать их к нажатию клавиши, чтобы в принципе выполнить серию действий по поиску и замене, чтобы получить то, что мне нужно:
-  Найти и заменить 
mysql_наmysqli_ -  Найдите и замените 
$DBна$DBi -  Найти и заменить 
, $DBi) or die(на) or die( -  Найти и заменить 
mysqli_query($наmysqli_query($DBi, $ 
В основном получают
 $rstest = mysql_query($q_test, $DB) or die(mysql_error($DB));
преобразован в
 $rstest = mysqli_query($DBi, $q_test) or die(mysqli_error($DBi));
для меня одним нажатием клавиши. Это не оптимально, но это делает трюк. Я все еще ищу простой, без плагинов решение.
UPDATE Вышеупомянутое работает с Sublime Text 3 с помощью обновленного плагина Reg Replace