private static string WebCompressLine(string line, EnumLineClass line_class, int line_number, int col_number) { string index = "l" + line_number.ToString() + " c" + col_number.ToString(); //string temp; line = line.Replace("\r",""); //REMOVE RETURNS line = line.Replace("\t",""); //REMOVE TABS line = line.Trim(); if(line_class == EnumLineClass.HTML) { if(line.IndexOf("<!--") != -1) if(line.IndexOf("-->") != -1) line = StringFunctions.Left(line,line.IndexOf("<!--")) + StringFunctions.AllAfter(line,"-->"); else line = StringFunctions.Left(line,line.IndexOf("<!--")); else if(line.IndexOf("-->") != -1) line = StringFunctions.AllAfter(line,"-->"); } else if(line_class == EnumLineClass.Javascript) { if(line.IndexOf("/*") != -1) if(line.IndexOf("*/") != -1) line = StringFunctions.Left(line,line.IndexOf("/*")) + StringFunctions.AllAfter(line,"*/"); else line = StringFunctions.Left(line,line.IndexOf("/*")); else if(line.IndexOf("*/") != -1) line = StringFunctions.AllAfter(line,"*/"); if(line.IndexOf("-->") == -1 && line.IndexOf("-->") == -1) if(line.Length >= 2) { if(StringFunctions.Left(line,2) == "//") line = ""; else { if(line.IndexOf("://") != -1) line = line.Replace("://","~~temporaryvalue~~"); line = Regex.Replace(line,"(?si)(//).*",""); //REMOVE JAVASCRIPT COMMENT <!--COMMENT--> if(line.IndexOf("~~temporaryvalue~~") != -1) line = line.Replace("~~temporaryvalue~~","://"); } } line = Regex.Replace(line,"(?si)else","else "); //ADD SPACE AFTER ELSE if(Regex.IsMatch(line,"\\s*(((if\\s*\\()|else|switch\\s*\\(|(/\\*)|(\\*/)|(try)|(catch)|(while)|(case.*$)|(<!--)|(-->)|(.*[^:]*//)|(<script)|(<style)|(function)|(\\{)|(\\}).*)|(.*;))\\s*") == false && line.Trim().Length > 0) { Log.Write(index + " - MISSING SEMICOLON: " + line); //line = line + ";\r\n"; //System.Web.HttpContext.Current.Trace.Write(index + " - MISSING SEMICOLON: " + line); } } else if(line_class == EnumLineClass.HTMLComment) { //System.Web.HttpContext.Current.Trace.Write(index + " - HTML COMMENT: " + line); if(line.IndexOf("<!--") != -1) { line = StringFunctions.Left(line,line.IndexOf("<!--")); } else { line = ""; } } else if(line_class == EnumLineClass.JavascriptComment) { //System.Web.HttpContext.Current.Trace.Write(index + " - JS COMMENT: " + line); if(line.IndexOf("/*") != -1) { line = StringFunctions.Left(line,line.IndexOf("/*")); } else { line = ""; } } return(line); }
private static EnumLineClass GetLineClass(string line, EnumLineClass previous) { line = line.ToLower(); if (previous == EnumLineClass.HTML) { if (line.IndexOf("<script") != -1 && line.IndexOf("</script>") == -1) { return(EnumLineClass.Javascript); } else if (line.IndexOf("<style") != -1 && line.IndexOf("</style>") == -1) { return(EnumLineClass.Javascript); } else if (line.IndexOf("<!--") != -1 && line.IndexOf("-->") == -1) { return(EnumLineClass.HTMLComment); } else { return(previous); } } else if (previous == EnumLineClass.Javascript) { if (line.IndexOf("</script>") != -1) { return(EnumLineClass.HTML); } else if (line.IndexOf("</style>") != -1) { return(EnumLineClass.HTML); } else if (line.IndexOf("/*") != -1 && line.IndexOf("*/") == -1) { return(EnumLineClass.JavascriptComment); } else { return(previous); } } else if (previous == EnumLineClass.HTMLComment) { if (line.IndexOf("-->") != -1) { return(EnumLineClass.HTML); } else { return(previous); } } else if (previous == EnumLineClass.JavascriptComment) { if (line.IndexOf("*/") != -1) { return(EnumLineClass.Javascript); } else { return(previous); } } return(EnumLineClass.HTML); }
private static EnumLineClass GetLineClass(string line,EnumLineClass previous) { line = line.ToLower(); if(previous == EnumLineClass.HTML) { if(line.IndexOf("<script") != -1 && line.IndexOf("</script>") == -1) return(EnumLineClass.Javascript); else if(line.IndexOf("<style") != -1 && line.IndexOf("</style>") == -1) return(EnumLineClass.Javascript); else if(line.IndexOf("<!--") != -1 && line.IndexOf("-->") == -1) return(EnumLineClass.HTMLComment); else return(previous); } else if(previous == EnumLineClass.Javascript) { if(line.IndexOf("</script>") != -1) return(EnumLineClass.HTML); else if(line.IndexOf("</style>") != -1) return(EnumLineClass.HTML); else if(line.IndexOf("/*") != -1 && line.IndexOf("*/") == -1) return(EnumLineClass.JavascriptComment); else return(previous); } else if(previous == EnumLineClass.HTMLComment) { if(line.IndexOf("-->") != -1) return(EnumLineClass.HTML); else return(previous); } else if(previous == EnumLineClass.JavascriptComment) { if(line.IndexOf("*/") != -1) return(EnumLineClass.Javascript); else return(previous); } return(EnumLineClass.HTML); }
private static string WebCompressLine(string line, EnumLineClass line_class, int line_number, int col_number) { string index = "l" + line_number.ToString() + " c" + col_number.ToString(); //string temp; line = line.Replace("\r", ""); //REMOVE RETURNS line = line.Replace("\t", ""); //REMOVE TABS line = line.Trim(); if (line_class == EnumLineClass.HTML) { if (line.IndexOf("<!--") != -1) { if (line.IndexOf("-->") != -1) { line = StringFunctions.Left(line, line.IndexOf("<!--")) + StringFunctions.AllAfter(line, "-->"); } else { line = StringFunctions.Left(line, line.IndexOf("<!--")); } } else if (line.IndexOf("-->") != -1) { line = StringFunctions.AllAfter(line, "-->"); } } else if (line_class == EnumLineClass.Javascript) { if (line.IndexOf("/*") != -1) { if (line.IndexOf("*/") != -1) { line = StringFunctions.Left(line, line.IndexOf("/*")) + StringFunctions.AllAfter(line, "*/"); } else { line = StringFunctions.Left(line, line.IndexOf("/*")); } } else if (line.IndexOf("*/") != -1) { line = StringFunctions.AllAfter(line, "*/"); } if (line.IndexOf("-->") == -1 && line.IndexOf("-->") == -1) { if (line.Length >= 2) { if (StringFunctions.Left(line, 2) == "//") { line = ""; } else { if (line.IndexOf("://") != -1) { line = line.Replace("://", "~~temporaryvalue~~"); } line = Regex.Replace(line, "(?si)(//).*", ""); //REMOVE JAVASCRIPT COMMENT <!--COMMENT--> if (line.IndexOf("~~temporaryvalue~~") != -1) { line = line.Replace("~~temporaryvalue~~", "://"); } } } } line = Regex.Replace(line, "(?si)else", "else "); //ADD SPACE AFTER ELSE if (Regex.IsMatch(line, "\\s*(((if\\s*\\()|else|switch\\s*\\(|(/\\*)|(\\*/)|(try)|(catch)|(while)|(case.*$)|(<!--)|(-->)|(.*[^:]*//)|(<script)|(<style)|(function)|(\\{)|(\\}).*)|(.*;))\\s*") == false && line.Trim().Length > 0) { Log.Write(index + " - MISSING SEMICOLON: " + line); //line = line + ";\r\n"; //System.Web.HttpContext.Current.Trace.Write(index + " - MISSING SEMICOLON: " + line); } } else if (line_class == EnumLineClass.HTMLComment) { //System.Web.HttpContext.Current.Trace.Write(index + " - HTML COMMENT: " + line); if (line.IndexOf("<!--") != -1) { line = StringFunctions.Left(line, line.IndexOf("<!--")); } else { line = ""; } } else if (line_class == EnumLineClass.JavascriptComment) { //System.Web.HttpContext.Current.Trace.Write(index + " - JS COMMENT: " + line); if (line.IndexOf("/*") != -1) { line = StringFunctions.Left(line, line.IndexOf("/*")); } else { line = ""; } } return(line); }