用PHP解析CSS文件

我想用一种特殊的方式解析一个CSS文件。

例:

cssfile.css

#stuff {

background-color: red;

}

#content.postclass-subcontent {

background-color: red;

}

#content2.postclass-subcontent2 {

background-color: red;

}

我希望PHP返回给我每个名称中包含postclass的类名。

在此示例中,结果看起来像一个数组:

arrayentry1:

#content.postclass-subcontent

arrayentry2:

#content2.postclass-subcontent2

但是我在正则表达式方面更糟。以某种方式搜索“ postclass”,然后抓取孔线并放入数组中。


谢谢,我用它来解析类似confic文件的css文件。

$(function () {

$.get('main.css', function (data) {

data = data.match(/(#[a-z0-9]*?\ .?postclass.*?)\s?\{/g);

if (data) {

$.each(data, function (index, value) {

value = value.substring(0, value.length - 2);

$(value.split(' .')[0]).wrapInner('<div class="' + value.split('.')[1] + '" />');

});

}

});

});

是我的最终代码。这样我就可以在不编辑布局的情况下轻松地将div包裹在一些hardcode-html上。所以我只需要编辑我的cssfile并在其中添加类似

id .postclass-class

我的代码搜索id并用div包裹内部内容。当我只需要在某个东西周围添加一个div以获得清晰或背景时,我就需要快速修复。

回答:

这是一个使用正则表达式的快速而肮脏的独立黑客:

$input = '

#stuff {

background-color: red;

}

#content.postclass-subcontent {

background-color: red;

}

#content2.postclass-subcontent2 {

background-color: red;

}

';

$cssClassName = 'postclass';

preg_match_all('/(#[a-z0-9]*?\.?'.addcslashes($cssClassName, '-').'.*?)\s?\{/', $input, $matches);

var_dump($matches[1]);

结果是:

array(2) {

[0]=>

string(29) "#content.postclass-subcontent"

[1]=>

string(31) "#content2.postclass-subcontent2"

}

以上是 用PHP解析CSS文件 的全部内容, 来源链接: utcz.com/qa/412759.html

回到顶部