我正在使用具有25.000+行styles.css的WordPress高級主題。我想要更改站點範圍內的字體和主要顏色,爲此,我想要捕捉所有使用它們的類和ID用於我的childtheme。從包含特定搜索詞的CSS樣式表中捕獲所有類和ID
手動搜索25.000行,然後選擇並複製類是一個非常緩慢的過程,我相信這可以通過RegEx和Preg匹配所有東西或類似的東西來實現自動化,但我對於創建這樣的腳本。
但至少我能弄清楚這樣的任務腳本需要遵循的邏輯。
所以我們假設我需要一個規則來收集字體Roboto分配給的所有類和ID。
基本上它需要 1.找到的Roboto,然後 2.回到{和 3.收集一切之前{直到 4.最後}之前,所以它需要去向後搜索 5。這需要通過整個文檔來完成,以捕獲Roboto分配給的所有類。
結果將是一個非常大的逗號分隔的類列表,然後我可以輕鬆地指定新的字體。
是否有任何RegEx專家看到他眼前的字符串?對於那些能夠流利地「說出」RegEx的人來說,我確信這並不難,但我很快就失去了嘗試自己學習的經歷,我只是成功地進行了簡單的替換。
...
last CSS rule ending here.
}
.some,
.classes,
.and,
#IDs to collect them all,
#not only from this one css rule,
. but from a whole 25.000+lines stylesheet
{
font-family: 'Roboto', sans-serif;
font-size: 32px;
color: ...
etc.
}
...
25000 CSS的線!! – Rob
這裏只是[一些瘋狂的正則表達式](https://regex101.com/r/bW2rO8/1),這會幫助你理解你不應該使用它來完成這個任務:'^ \ s *([^ {嗎?\ n] +)\ N *(\ {[^}] *字體家庭?:\ S * [ '「]的Roboto \ b [?'」] [^}] * \})'?。 –
感謝您的努力,但我不明白爲什麼它是瘋狂的(是的,它很長,但我確定它需要針對這項任務),爲什麼我不應該使用它?它已經接近我所需要的,只是現在它只在{之前捕捉一行,而它應該捕捉所有直到最後}。這可以做得好嗎?也許你可以更詳細地向我解釋爲什麼我搜索的這樣的腳本應該是不可能的,或者至少不能用正則表達式來完成。我不會在網站上運行這個腳本,它只是一次性幫助提取所有在子CSS中使用的類。 – Sofian