提取使用特定样式的CSS类

问题描述:

我正在为WordPress主题创建模块,它允许用户更改主要颜色。而不是做一个矫枉过正和实施LESS编译器,我会做这种方式:提取使用特定样式的CSS类

这里是原来的样式表:

.header a:hover 
{ 
    color: #fff; 
    width: 123px; 
    height: 456px; 
} 
.header 
{ 
    background-color: #000; 
    width: 100%; 
    height: 200px; 
} 

现在,我需要一种方法来解析像上述样式表,并提取所有包含某种颜色的样式。也许一个工具,我可以进入颜色“#FFF”和“#000”,然后提取以下内容:

.header a:hover 
{ 
    color: #fff; // matched (removed the rest) 
} 
.header 
{ 
    background-color: #000; // matched (removed the rest) 
} 

这样一来,我可以简单地包括在PHP文件以上并呈现各原色动态地覆盖默认样式表。

有谁知道这是否有工具?这会比手动搜索颜色和提取样式容易得多。

+0

这是一个非常高的顺序。为什么不使用LESS?您不必实现编译器,只需包含现有的编译器即可。第二个想法是一个客户端PHP脚本,它将CSS简单地替换掉。类似于'/ dynamic_styles?var1 = 000&var2 = fff' ... – janfoeh

+0

无论如何,你将最终重新实现LESS(或等价物)。 CSS解析不是微不足道的 –

我会在PHP中创建一个动态的文件,并指定标题的CSS:

header('Content-Type: text/css');

使用echo到行添加到当前的CSS文件!为所有你想要的颜色制作变量。您可以使用GET或POST请求传递选定的颜色。请注意,如果您浏览器缓存CSS文件,则应排除动态文件!