JavaScript版代码高亮

2019-06-04 00:24:03刘景俊

      } else {
       htmlTxt[htmlTxt.length] = (codeArr[i]+"</span>");
      }
      quote_opened = false;
      quote_char  = "";
     } else {
      htmlTxt[htmlTxt.length] = codeArr[i].replace(/</g,"<");
     }
    } else {
     if (tag_opened){
      htmlTxt[htmlTxt.length] =  ("</span><span style='color:#FF00FF;'>"+codeArr[i]);
     } else {
      htmlTxt[htmlTxt.length] =  ("<span style='color:#FF00FF;'>"+codeArr[i]);
     }
     quote_opened = true;
     quote_char  = codeArr[i];
    }
   //处理转义字符
   } else if(codeArr[i] == this._escape){
    htmlTxt[htmlTxt.length] = (codeArr[i]);
    if (i<word_index){
     if (codeArr[i+1].charCodeAt(0)>=32&&codeArr[i+1].charCodeAt(0)<=127){
      htmlTxt[htmlTxt.length] = codeArr[i+1].substr(0,1);
      codeArr[i+1] = codeArr[i+1].substr(1);
     }
    }
   //处理Tab
   } else if (codeArr[i] == "t") {
    htmlTxt[htmlTxt.length] = ("  ");
   //处理多行注释的开始
   } else if (this.isStartWith(this._commentOn,codeArr,i)&&!slash_slash_comment_opened && !slash_star_comment_opened&&!quote_opened){
    slash_star_comment_opened = true;
    htmlTxt[htmlTxt.length] =  ("<span style='color:#008000;'>" + this._commentOn.replace(/</g,"<"));
    i = i + this._commentOn.length-1;
   //处理单行注释
   } else if (this.isStartWith(this._lineComment,codeArr,i)&&!slash_slash_comment_opened && !slash_star_comment_opened&&!quote_opened){
    slash_slash_comment_opened = true;
    htmlTxt[htmlTxt.length] =  ("<span style='color:#008000;'>" + this._lineComment);
    i = i + this._lineComment.length-1;
   //处理忽略词
   } else if (this.isStartWith(this._ignore,codeArr,i)&&!slash_slash_comment_opened && !slash_star_comment_opened&&!quote_opened){
    slash_slash_comment_opened = true;
    htmlTxt[htmlTxt.length] =  ("<span style='color:#008000;'>" + this._ignore.replace(/</g,"<"));