我需要編輯我的CSS「字符串」並在每個選擇器之前添加#持有人選擇器。例如;用PHP正則表達式編輯CSS文件
我想改變這個CSS字符串;
/* the css file with comments */
.header ul, .footer #div, .selector3 a
{
box-shadow: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
}
.selector4, .selector5 ul > li, .selector6 a:hover
{
text-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05) inset;
-moz-text-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05) inset;
-webkit-text-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05) inset;
}
爲
/* the css file with comments */
#holder .header ul, #holder .footer #div, #holder .selector3 a
{
box-shadow: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
}
#holder .selector4, #holder .selector5 ul > li, #holder .selector6 a:hover
{
text-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05) inset;
-moz-text-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05) inset;
-webkit-text-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05) inset;
}
我已經使用這個正則表達式來縮小字符串,因此你可以忽略的註釋行,它工作正常。
preg_replace('@({)\s+|(\;)\s+|/\*.+?\*\/|\[email protected]', '$1$2 ', $css);
我正在尋找一個正則表達式方法來做到這一點,但任何其他解決方案也將不勝感激。 在此先感謝。
您是否需要更換*每個*類選擇器?或者只有少數幾個已知的? – brandonscript
有很多差異。選擇器在我的CSS和我必須自定義頁面的特定部分代碼,如#持有人。所以答案是肯定的,我需要替換每個選擇器。 – user2360754
作爲** one **正則表達式將會非常困難。 – cgTag