PHP регулярное выражение, чтобы удалить ад префикс поставщика CSS
Я пытаюсь очистить мои документы CSS, чтобы удалить только те строки с префиксом поставщика:
-webkit-......;
-o-.....;
-ms-......;
-khtml-......;
-moz-......;
Как видите, все строки имеют одинаковые шаблоны, оканчивающиеся точкой с запятой, только разных поставщиков. До сих пор я пытался искать один за другим, но должен быть лучший способ добиться этого:
preg_match("/(-webkit.*;)/", $css, $webkit);
$css = str_replace($webkit[1], '', $css);
// ... etc
Любая подсказка будет очень цениться. Спасибо
ОБНОВЛЕНИЕ: причина в том, что я буду использовать http://leaverou.github.com/prefixfree/, но мне нужен способ переключения состояний для определенной фазы разработки, например, когда JS отключен.
2 ответа
Попробуйте это регулярное выражение /^-.*;?/m
соответствует каждой строке, которая начинается с -
и возможно иметь ;
в конце
обновленный/^(\s|\t)*-.*;?/m
соответствует любому, что начинается без или более пробелов или табуляции, имеет -
после пробела или табуляции и заканчивается ровно одним ;
Попробуй это (-webkit-.*?;)|(-khtml-.*?;)|(-ms-.*?;)|(-moz-.*?;)|(-o-.*?;)
preg_match("/(-webkit-.*?;)|(-khtml-.*?;)|(-ms-.*?;)|(-moz-.*?;)|(-o-.*?;)/", $css, $webkit);