我想用一种特殊的方式解析一个CSS文件。
例:
cssfile.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并用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" }