提取具有特定规则

时间:2015-10-12 17:22:22

标签: php html css fonts

我被要求更改客户端网站中使用的字体。他们正在使用商业模板。

我搜索了样式表文件,发现在“font-family”的12个不​​同文件中有近400次出现,我需要以某种方式覆盖它们。

我不想使用通用规则(*),因为它感觉它会导致意想不到的结果(比如阻止我使用第二个字体系列)

任何想法?

我想也许我可以使用一些工具/软件将每个文件中的整个规则提取到一个单独的文件中,而不是我可以轻松地复制它们并搜索 - 替换字体系列,是否有这样的工具/软件

我也可以使用PHP查看这些文件并在运行时搜索/替换,但在每次加载页面时运行它似乎都是不好的做法。

请告知,你会做什么?

**更多信息:**

我不想编辑原始文件或完全复制它们。我想只提取规则名称和font-family属性和值。

示例:

.some_rule {color: red;font-size: 16px;**font-family: 'whatever';**float: right;}

成为/提取:

    .some_rule {**font-family: 'whatever';**}

然后我只能将这部分复制到我的override.css文件中(例如)。 谢谢!

**更新** 我确信有一个更好的方法可以做到这一点,但是为了我的需要,只是为了用几行代码完成工作,这就是我所做的:

  1. 将文件复制到临时目录
  2. 格式化它们所以一切都将在一个新行(声明,attr +值,结束大括号);
  3. 运行我写的PHP代码 - http://codepad.org/D2YOKYJ5
  4. 此代码段仅使用我需要的内容创建一个新文件(或写入现有文件)。

1 个答案:

答案 0 :(得分:1)

听起来像一个简单的编辑器可以在几分钟内完成的替换操作。

但您可以考虑迁移到SCSS或其他CSS预编译器。

SCSS(例如,超过SASS)的优势在于它完全与CSS兼容,因此您可以将所有CSS文件重命名为SCSS,配置SCSS编译器,然后启动并运行。

一旦你有了这个,你可以开始用变量或mixin替换字体系列,逐渐地你可以通过重构它的某些部分来为CSS文件添加越来越多的结构。

如果您根本不想修改CSS(因为它是商业模板,并且您可能希望能够下载更新),您可以收集字体的所有选择器并创建一个新的CSS文件它们,只覆盖那些特定选择器的字体。