php - 将CSS拆分为多维数组

时间:2017-07-14 08:22:13

标签: php css arrays multidimensional-array

我需要一些帮助从CSS创建一个多维数组。例如:

$css = "body { font-weight:40px; color:#444; } #wrapper { width: 500px; }";

我确实拥有Split CSS inside the {} to array of key/value pairs中的以下代码,但这并不是选择器以及

function BreakCSS($CSS) {
$results = array();

foreach(explode(';', $CSS) AS $attr)
    if (strlen(trim($attr)) > 0) // for missing semicolon on last element, which is legal
    {
        list($name, $value) = explode(':', $attr);
        $results[trim($name)] = trim($value);
    }
return $results;

}

在这种编码方面,我不是专家。理想情况下我想:

array(
    'body' => array (
        array(
            'font-weight',
            '40',
            'px'
        ),
        array(
            'color',
            '#444',
            ''
        )
    )
)

此外,有没有办法检查是否已经添加了!important?

提前致谢!

1 个答案:

答案 0 :(得分:0)

UPDATE!我找到了一个解决方案,有人修改了上面最初添加的代码。 Break a CSS file into an array with PHP

不是100%完美(推荐使用解析器),但这适用于我的快速测试或概念验证。