Парсер css на js
Есть css в виде текста:
Код:
.title {Подскажите как реализовать наиболее поизводительнее так как число строк может достигать до 10 000. |
Если это на клиенте необходимо сделать, можно ничего не парсить, а создать iframe, подключить там CSS файл и пройтись по свойствам:
document.styleSheets[i].rules[j].cssText.indexOf('linear-gradient')
|
document.styleSheets не подходит так как нужна поддержка IE8+, а он(IE) вырезает не стандартные значения свойств.
|
Если грубо то примерно так:
<script>var css = function(){/*
.title {
font-size: 13px;
}
.amount {
background-image: linear-gradient(to bottom, #d84436 0%, #e94c3d 100%);
}
.total {
background-image: linear-gradient(to bottom, #e94c3d 0%, #d84436 100%);
}
*/}.toString().replace(/^.*[\n\r]+|[\n\r]+.*$/g,'');
var arr = css.match(/[^}]+?\{[^}]+?linear-gradient[^}]+}/g);
alert(arr.join('\n'))</script>
А тонко и вручную - это вам самостоятельно надо будет делать. |
| Часовой пояс GMT +3, время: 08:34. |