|
|
|
|
|
для: Lelik
(13.03.2012 в 02:07)
| | Вообще, если речь идет о парсинге таблицы стилей, то подход в принципе неверный (см. начало треда), на выходе должны получаться классы с наследованием свойств, то есть так:
.one {border: 1px solid red;}
.one .two {margin: 10px; border: 1px solid green;}
|
Надо думать дальше. | |
|
|
|
|
|
|
|
для: DJ Paltus
(12.03.2012 в 19:24)
| | спасибо за алгоритм, всё хорошо, но когда код станет таким:
.one {
border: 1px solid red;
.two {
margin: 10px;
.three {
border: 1px solid red;
}
}
.two {
margin: 10px;
.three {
border: 1px solid red;
}
}
}
|
то будет сложно у второго .two определить родителя, а это было бы полезно знать | |
|
|
|
|
|
|
|
для: Lelik
(12.03.2012 в 17:28)
| | Вроде бы, просто - разваливаем текст в массив, пользуясь символом точки как разделителем. А потом смотрим, какие элементы не заканчиваются на "}", те заканчиваем принудительно. И останется лишь избавиться от хвоста, в котором куча закрывающих "}". Не забыть добавить точку к началу каждого оставшегося элемента массива. | |
|
|
|
|
|
|
|
для: Киналь
(12.03.2012 в 17:27)
| | вы не поняли, пробелы и пр. убрать это не проблема, я про вложенность:
.one {
border: 1px solid red;
.two {
margin: 10px;
.three {
border: 1px solid red;
}
}
}
|
и эта вложенность можеть быть неограниченной | |
|
|
|
|
|
|
|
для: Lelik
(12.03.2012 в 17:23)
| | Первым проходом заменяем все двойные пробелы, табуляции и переводы строки на одиночный пробел; вторым проходом заменяем точку на перевод строки и точку. Для красоты убираем перевод строки в начале текста. | |
|
|
|
|
|
|
| Здрасьте всем.
как мне лучше парсить такого вот рода текст:
.one {
border: 1px solid red;
.two {
margin: 10px;
border: 1px solid green;
}
}
|
на выходе, чтобы получилось:
.one {border: 1px solid red;}
.two {margin: 10px; border: 1px solid green;}
|
| |
|
|
|
|