我正在使用一个拥有25.000+行styles.css的WordPress高级主题。我想在全站点更改字体和主要颜色,为此我想要抓住所有使用它们的类和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.
}
...
答案 0 :(得分:1)
目前无法使用 CSS , JavaScript 定位具有特定 CSS规则的所有类,例如font-family
,或 jQuery
但是,你可以搜索:
'以......开始。
div[class^="something"] { } /* target divs */
*[class^="something"] { } /* targets everything */
div[id^="something"] { } /* target divs */
*[id^="something"] { } /* targets everything */
可以使用这样的东西: -
<div class="something-else-class"></div>
&#39;包含..&#39;
div[class*="something"] { }
可以使用
<div class="is-something-here"></div>
<!-- class name can be anything. "something" can be anywhere -->
&#39;结束于......&#39;
div[class$="something"] { }
可以使用
<div class="you-are-something"></div>
通过这种方式,您可以定位所有具有font-family
规则的类和/或ID,并对其进行更改。
<强>参考强>