2013-12-15 64 views
0

我正在爲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解析不是微不足道的 –

回答

-1

我會在PHP中創建一個動態的文件,並指定標題的CSS:

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

使用echo到行添加到當前的CSS文件!爲所有你想要的顏色製作變量。您可以使用GET或POST請求傳遞選定的顏色。請注意,如果您瀏覽器緩存CSS文件,則應排除動態文件!