-1
У меня есть большая строка SQL, например:Regex для извлечения имени таблицы и поля из заявления Alter SQL
...
-- sales_address
ALTER TABLE sales_address
ADD COLUMN `cod_fee` decimal(12,4) DEFAULT NULL,
ADD COLUMN `base_cod_fee` decimal(12,4) DEFAULT NULL;
-- sales_item
ALTER TABLE sales_item
ADD COLUMN `is_free` tinyint(4) NOT NULL DEFAULT '0';
-- sales_payment
ALTER TABLE sales_payment
ADD COLUMN `payment_no` varchar(255) NOT NULL,
ADD COLUMN `payment_sid` varchar(255) NOT NULL,
ADD COLUMN `payment_trx` varchar(255) NOT NULL;
...
И хотите извлечь имена таблиц и столбцов в виде массива, например:
$finalOutput = array(
'sales_address' => array(
'cod_fee',
'base_cod_fee'
),
'sales_item' => array(
'is_free'
),
'sales_payment' => array(
'payment_no',
'payment_sid',
'payment_trx'
)
);
Может быть, нам нужно сделать вложенность preg_match_all или еще. До сих пор я пытался использовать регулярные выражения, как:
preg_match_all('/what-regex-goes-here/', $SQL, $matches);
Заранее спасибо.
Отлично! Работает как шарм! – MagePsycho