我正在尝试清理我的CSS文档,只删除那些以供应商为前缀的行:
-webkit-......;
-o-.....;
-ms-......;
-khtml-......;
-moz-......;
如您所见,所有线条都采用以冒号结尾的相同模式,只有不同的供应商。 到目前为止,我尝试逐一搜索,但应该有更好的方法来实现这一点:
preg_match("/(-webkit.*;)/", $css, $webkit);
$css = str_replace($webkit[1], '', $css);
// ... etc
任何暗示都会非常感激。 感谢
更新:原因是我将使用http://leaverou.github.com/prefixfree/,但我需要一种方法来切换某些开发阶段的状态,比如JS禁用时。
答案 0 :(得分:3)
试试这个(-webkit-.*?;)|(-khtml-.*?;)|(-ms-.*?;)|(-moz-.*?;)|(-o-.*?;)
preg_match("/(-webkit-.*?;)|(-khtml-.*?;)|(-ms-.*?;)|(-moz-.*?;)|(-o-.*?;)/", $css, $webkit);
答案 1 :(得分:2)
尝试此正则表达式/^-.*;?/m
匹配以-
开头的每一行,最后可能会有一个;
的更新强>
/^(\s|\t)*-.*;?/m
匹配以没有或更多空格或制表符开头的任何内容,在空白或制表符之后-
,并且只有一个;