@leha78

Как грамотно заменить символ с помощью preg_replace?

INSERT INTO "accounts_order"("id","name","email","address","phone","comment","retail_price","wholesale_price","retail_price_with_discount","status","created_at","updated_at","user_id","guid") VALUES ( 3,' Имя','info@mymail.ru','12мк','+12345667',"Comment",'31582','18160','31582','success','2015-09-30 09:32:56.495034','2015-09-30 11:04:49.227136',1,'3b5a4db4-6756-11e5-a891-9' );


Используя preg_replace мне нужно заменить двойные кавычки на ` между INSERT INTO и VALUES, после VALUES не трогать (там тоже встречаются двойные кавычки).

Если в паттерне указывать, чтобы заменялось между INSERT INTO и VALUES, то на выходе весь паттерн, включая INSERT INTO и VALUES заменяется на `
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 2
бред какой-то но:
preg_match("/INSERT INTO(.*?)VALUES/ism", $text, $match)
Теперь замените в match все нужные кавычки на одинарные а потом сделайте str_perlace в главной строке и всё.
Ответ написан
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Вы уверены, что не боритесь с симптомами вместо лечения болезни? Потому, что если вам нужно что-то заменять в SQL-запросах с помощью регулярок - скорее всего, лучше переписать их построение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы