Используя CSS Parser (github), предложенный dark_charlie , я смог придумать следующий код, чтобы превратить CSS обратно в SQL.
<?
require('cssparser.php');
$cssp = new cssparser;
$cssp->Parse('test.css');
$query = 'INSERT INTO css_table (`selector`, `property`, `value`) VALUES ';
foreach($cssp->css as $selector => $properties) {
foreach($properties as $property => $value) {
$query .= "('$selector', '$property', '$value'), ";
}
}
$query = substr_replace($query, ';', -2);
echo $query; // Testing
?>
Приложение: После использования метода, который я разработал здесь, я быстро понял, насколько непрактично было вставлять каждое свойство в виде новой строки.CSS для одной доски phpbb занимает более 1000 строк, и умножить ее на каждую независимую доску было безумно.
Лучшей альтернативой для моей ситуации было просто использовать одно поле со средним текстом и поместить необработанный CSS встол.Чтобы изменить свойства, я анализирую CSS в массив, изменяю свойства по мере необходимости, анализирую массив обратно в CSS и обновляю БД новым CSS.
Для режима редактирования «Расширенный CSS» этоПростая выборка / обновление теперь, поскольку БД содержит простой CSS.