3

是否可以使用正则表达式以下面演示的方式转换 css 文件中的 url?我不想硬编码字体名称。

从:

url('../fonts/glyphiconshalflings-regular.eot?#iefix') format('embedded-opentype')

至:

url("#{resource['css:../fonts/glyphiconshalflings-regular.eot']}?#iefix") format('embedded-opentype')

这就是我目前拥有的:

task fixCSSResources << {
    FileTree cssFiles = fileTree("src/main/webapp") {
        include "**/*.css"
    }
    cssFiles.each { File cssFile ->
        String content = cssFile.getText("UTF-8")
        // what to do here?
        cssFile.write(content, "UTF-8")
    }
}
4

1 回答 1

5

假设您只想格式化url(something),这应该可以满足您的要求:

String regex = "url\\('([^']*?\\.(eot|ttf|fnt))(.*?)'\\)";
//                   font file formats^           
content = content.replaceAll(regex, "url(\"#{resource['css:$1']}$3\")");

编辑:忘记转义一些字符。

于 2013-08-09T20:15:19.450 回答