<html>
    <head>
        <style>    
            textarea{
                width:800px;
                height:250px;
            }
        </style>
        <script>
            function trans(){
                var content = document.getElementById("content");
                //去除注释
                content = removeComment(content.value);
                //去除换行
                content = removeLine(content);
                content = removeSpace(content);    
                //转换成css数组
                var cssList = cssConvert(content);
                for(var i=0;i<cssList.length;i++){
                    alert(cssList[i].attrName + " " +cssList[i].attrValue+ " " +cssList[i].cssNum);
                }
                
                document.getElementById("result").value = content;
            }
            //转换成css数组
            
            function cssConvert(txt){
                var cssList = [];
                var isOpen = false;
                var attrName="";
                var attrValue = "";
                var cssNum = 1;
                for(var i=0;i<txt.length;i++){
                    if(txt[i] == '{') {
                        isOpen = true;
                        continue;
                    }
                    if(txt[i] == '}') {
                        isOpen = false;
                        cssList.push({attrName:attrName,attrValue:attrValue,cssNum:cssNum});
                        cssNum ++;
                        attrValue = "";
                        attrValue = "";
                        continue;
                    }
                    if(isOpen){
                        attrValue += txt[i];
                    } else {
                        attrName += txt[i];
                    }    
                }
                return cssList;
            }
            //去除换行
            function removeLine(txt){
                txt = txt.replace(/<\/?.+?>/g,"");
                txt = txt.replace(/[\r\n]/g, "");
                return txt;
            }
            function removeSpace(txt){
                var isOpen =false;
                for(var i=0;i<txt.length;i++){
                    if(txt[i]=='{'){
                        isOpen = true;
                        if(i-1>=0&&txt[i-1] == ' ') {
                            txt = removeAt(txt,i-1);
                            i--;
                        }
                    }
                    if(txt[i]=='}') isOpen = false;
                    //符合条件的去空格
                    if((i-1>=0&&i+1<txt.length&&txt[i]==' '&&isOpen ==true&&(txt[i-1]==':'||txt[i+1]==':'||txt[i-1]==' '||txt[i+1]==' '||txt[i-1]==';'||txt[i+1]==';'||txt[i-1]=='{'||txt[i-1]=='}'))||(i-1>=0&&txt[i]==' '&&txt[i-1]==' ')||(i-1>=0&&txt[i]==' '&&txt[i-1]=='}')){
                        txt = removeAt(txt,i);
                        i--;
                    } else if(i-1>=0&&i+1<txt.length&&isOpen ==false&&txt[i]==' '&&(txt[i-1]==','||txt[i+1]==','||txt[i-1]==' '||txt[i+1]==' ') ){
                        txt = removeAt(txt,i);
                        i--;
                    }
                }
                return txt;
                //return txt.replace(/\s+/g, "");//.replace(/\s+/g, "");
            }
            function removeAt(txt,i){
                temp = txt.substr(0,i);
                temp += txt.substring(i+1);
                return temp;
            }
            //去除注释
            function removeComment(txt){
                while(true){
                    var start = txt.indexOf("/*");
                    var end = txt.indexOf("*/");
                    var temp = "";
                    if(start >= 0 && end >= 0){
                        temp = txt.substring(0,start);
                        temp += txt.substring(end+2);
                        txt = temp;
                    } else {
                        return txt;
                    }    
                }
            }
        </script>
    </head>
    <body>
        <textarea id="content"></textarea>
        <input type="button" value="转换" onclick="trans()"/>
        <textarea id="result"></textarea>
    </body>
</html>

百度

最新文章

  1. 可能是最通俗的Lempel-Ziv-Welch (LZW)无损压缩算法详述
  2. db2 with ur
  3. web项目 验证码 *** 最爱那水货
  4. Mysql学习笔记(十)存储过程与函数 + 知识点补充(having与where的区别)
  5. MyEclipse 6.5 代码自动提示功能配置教程
  6. [Cocos2d-x for WP8学习笔记] HelloWorld
  7. 7 款令人赞叹的 HTML5 动画应用
  8. Codeforces Round #364 (Div.2) D:As Fast As Possible(模拟+推公式)
  9. (转)IOS内存管理 retain release
  10. git 使用整理
  11. bzoj4652 [Noi2016]循环之美
  12. JS基础属性跟运算
  13. java.lang.NullPointerException at java.lang.ProcessBuilder.start(Unknown Source) at org.apache.hadoop.util.Shell.runCommand(Shell.java:482)
  14. 动态 hover 使用变相使用
  15. 逆袭之旅DAY16.东软实训.Oracle.序列
  16. WyBox 7620a 启用第二个串口
  17. Python的可迭代对象、迭代器和生成器
  18. 【Spring Boot&amp;&amp;Spring Cloud系列】Spring Boot项目集成Swagger UI
  19. python , 顺序迭代合并后的list对象
  20. CTF-练习平台-Misc之 妹子的陌陌

热门文章

  1. AtCoder Regular Contest 073 E:Ball Coloring
  2. TreeView滚动TreeViewItem
  3. CUDA 9.1/9.2 与 Visual Studio 2017 (VS2017 15.6.4) 的不兼容问题
  4. &lt;正则吃饺子&gt; :关于oracle 中 exists 、not exists 的简单使用
  5. WCF IIS部署
  6. hadoop学习笔记之-hbase完全分布模…
  7. 网络爬虫之Xpath用法汇总
  8. Jdk 1.7*安装并配置
  9. Spring入门第十九课
  10. ListView Item 里多种点击事件的用法