Aí você pensa: vou criar uma tabela no banco de dados com mil colunas pra saber o que o usuário colocou e o que não. Além de dar muito mais trabalho, a leitura do banco de dados é mais lenta e sobrecarrega seu servidor.
Então não seria mais simples salvar tudo num arquivo css personalizado, e carregá-lo depois?
O problema depois é ler esse arquivo, certo?
Errado, aqui tá a solução. Todos os dados do CSS são exportados para uma Array, mais fácil do que isso impossível neh?
Só usar a função:
function parse($file){ $css = file_get_contents($file); preg_match_all( '/(?ims)([a-z0-9\s\.\:#_\-@,]+)\{([^\}]*)\}/', $css, $arr); $result = array(); foreach ($arr[0] as $i => $x){ $selector = trim($arr[1][$i]); $rules = explode(';', trim($arr[2][$i])); $rules_arr = array(); foreach ($rules as $strRule){ if (!empty($strRule)){ $rule = explode(":", $strRule); $rules_arr[trim($rule[0])] = trim($rule[1]); } } $selectors = explode(',', trim($selector)); foreach ($selectors as $strSel){ $result[$strSel] = $rules_arr; } } return $result; } // Aqui vai o arquivo que você quer ler $css = parse('css/personalizado_011246.css');
Para usar é muito fácil:
$css['body']['background-color']; $css['#id']['color']; $css['.class']['font-size'];
Nenhum comentário:
Postar um comentário