Я хочу отсканировать файл css и записать как комментарии, так и css. Я придумал регулярное выражение, которое почти там, но оно не совсем идеально, так как оно пропускает свойства с несколькими объявлениями, т.е.
ul.menu li a, # Won't capture this line
ul.nice-menu li a { text-decoration: none; cursor:pointer; }
Вот регулярное выражение, с которым я работаю:
(\/\*[^.]+\*\/\n+)?([\t]*[a-zA-Z0-9\.# -_:@]+[\t\s]*\{[^}]+\})
Я тестировал это на rubular.com, и вот что он в данный момент соответствует, и как выглядит вывод массива.
Результат 1
[0] /* Index */
/*
GENERAL
PAGE REGIONS
- Header bar region
- Navigation bar region
- Footer region
SECTION SPECIFIC
- Homepage
- News */
[1] html { background: #ddd; }
Результат 2
[0]
[1] body { background: #FFF; font-family: "Arial", "Verdana", sans-serif; color: #545454;}
Я должен отметить, что я все еще новичок, когда дело доходит до регулярных выражений, поэтому, если кто-то может помочь и показать, в чем я ошибаюсь, это будет высоко оценено :)
КСТАТИ:
Я использую PHP и preg_match_all