Отобразите регулярное выражение в части строки, затем посмотрите назад и замените (а также удалите эту строку)

У меня есть строка с этим форматом:

                $something = $gateway->execute($query) or die(mysql_error() . " here");
$id  = mysql_insert_id();

Это сложно, потому что я хочу закончить с этим:

$id = $gateway->execute($query) or die(mysql_error() . " here");

Я попытался сопоставить строку mysql_insert_id, затем посмотрел на $ gateway-> execute и заменил $ что-то на захваченный $ id, но я не смог понять это. Это вообще возможно?
Я также хочу удалить строку mysql_insert_id, но всегда могу выполнить grep и заменить и заменить на пустую строку.

Благодарю.

0

Решение

Вы можете сопоставить элементы Botch и собрать их при необходимости так:

\$\w+\s+=\s+(\$gateway->execute\(\$query\)\s+or\s+die\(mysql_error\(\)\s+\.\s+"\s+here"\);).*(\$id)\s+=\s+mysql_insert_id\(\);

демонстрация

Это может быть упрощено, если часть $ gateway-> .. является фиксированной строкой.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]