用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