У меня есть строка, как показано ниже.Извлечь части строки (PHP)
$str = "ENGINE=InnoDB
DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci
COMMENT='Table comment'";
И мне нужно, чтобы разобрать пары ключ/значение из строки и объединить их с парами ключ/значение в массиве ниже ...
$arr = array("ENGINE" => "InnoDB",
"DEFAULT CHARSET" => "utf8",
"COLLATE" => "utf8_unicode_ci",
"COMMENT" => "'Table comment'");
Здесь последовательность частей строка может быть разной.
Пример:
$str = "ENGINE=InnoDB
COMMENT='Table comment'
COLLATE=utf8_unicode_ci
DEFAULT CHARSET=utf8";
Что вы на самом деле спрашиваете? Вы можете использовать explode(), чтобы превратить строку в массив. – Coz
Как вы решили сломаться между InnoDB и DEFAULT, но не между DEFAULT и CHARSET? –
Вы можете попробовать preg_replace с этим регулярным выражением: https://regex101.com/r/hQ5tD5/1 – Tanner