4

CSSドキュメントをクリーンアップして、ベンダーのプレフィックスが付いた行のみを削除しようとしています。

-webkit-......;
-o-.....;
-ms-......;
-khtml-......;
-moz-......;

ご覧のとおり、すべての行のパターンはセミコロンで終わり、ベンダーが異なります。これまで、1つずつ検索してみましたが、これを実現するためのより良い方法があるはずです。

preg_match("/(-webkit.*;)/", $css, $webkit);
$css = str_replace($webkit[1], '', $css);
// ... etc

ヒントをいただければ幸いです。ありがとう

更新:理由はhttp://leaverou.github.com/prefixfree/を使用するためですが、JSが無効になっている場合など、開発の特定のフェーズで状態を切り替える方法が必要です。

4

2 に答える 2

3

これを試して(-webkit-.*?;)|(-khtml-.*?;)|(-ms-.*?;)|(-moz-.*?;)|(-o-.*?;)

preg_match("/(-webkit-.*?;)|(-khtml-.*?;)|(-ms-.*?;)|(-moz-.*?;)|(-o-.*?;)/", $css, $webkit);
于 2012-09-12T05:53:24.120 に答える
3

この正規表現/^-.*;?/m試し-てみ;て ください。

/^(\s|\t)*-.*;?/m-;

于 2012-09-12T06:00:58.987 に答える