国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

Convert Code To HTML (C#)

2024-08-26 00:15:36
字體:
來源:轉載
供稿:網友
using system; 

using system.io; 

using system.text; 

using system.text.regularexpressions; 

using system.web; 

  

namespace codehtml 



  public class translatecode 

  { 

    private class programminglanguage 

    { 

      public const string vb = "vb"; 

  

      public const string csharp = "c#"; 

  

      public const string jsharp = "js"; 

  

    } 

  

  

    private bool _showfilename; 

  

    private int _fontsize; 

  

    private string _language; 

  

    private const string tag_fntred = "<font color=/"red/">"; 

  

    private const string tag_fntblue = "<font color=/"blue/">"; 

  

    private const string tag_fntgrn = "<font color=/"green/">"; 

  

    private const string tag_fntmrn = "<font color=/"maroon/">"; 

  

    private const string tag_efont = "</font>"; 

  

  

    public bool showfilename 

    { 

      get 

      { 

        return _showfilename; 

      } 

  

      set 

      { 

        _showfilename = value; 

      } 

    } 

  

    public int fontsize 

    { 

      get 

      { 

        return _fontsize; 

      } 

  

      set 

      { 

        _fontsize = value; 

      } 

    } 

  

    public string language 

    { 

      get 

      { 

        return _language; 

      } 

  

      set 

      { 

        _language = value; 

      } 

    } 

  

    public translatecode() 

    { 

      _showfilename = false; 

      _fontsize = 3; 

      _language = ""; 

    } 

  

    private void setlanguagefromfilename(string filepath) 

    { 

      if (filepath.split(new char[]{convert.tochar(".")}).length > 0) 

      { 

        string str2 = filepath.substring(filepath.lastindexof(convert.tochar(".")) + 1).tolower().trim(); 

        if (stringtype.strcmp(str2, "vb", false) == 0) 

        { 

          _language = "vb"; 

        } 

        else if (stringtype.strcmp(str2, "c#", false) == 0) 

        { 

          _language = "c#"; 

        } 

        else if (stringtype.strcmp(str2, "js", false) == 0) 

        { 

          _language = "js"; 

        } 

      } 

    } 

  

    public string renderfile(string filepath) 

    { 

      setlanguagefromfilename(filepath); 

      return render(file.opentext(filepath)); 

    } 

  

    public void renderfile(string filepath, string outputfilepath) 

    { 

      setlanguagefromfilename(filepath); 

      streamwriter streamwriter = new streamwriter(outputfilepath); 

      streamwriter.write(render(file.opentext(filepath))); 

      streamwriter.flush(); 

      streamwriter.close(); 

    } 

  

    public string render(streamreader inputtextreader) 

    { 

      return render(inputtextreader.readtoend()); 

    } 

  

    public string render(string inputstring) 

    { 

      stringbuilder stringbuilder = new stringbuilder(); 

      stringwriter stringwriter = new stringwriter(stringbuilder); 

      string[] strs1 = inputstring.split(new char[]{13}); 

      stringwriter.writeline(string.concat("<font size=/"", stringtype.frominteger(_fontsize), "/" //>")); 

      string str4 = _language.trim().tolower(); 

      if (stringtype.strcmp(str4, "c#", false) == 0) 

      { 

        stringwriter.writeline("<pre>"); 

        string[] strs5 = strs1; 

        for (int i2 = 0; i2 < (int)strs5.length; i2++) 

        { 

          string str2 = strs5[i2]; 

          stringwriter.write(fixcsline(str2)); 

        } 

        stringwriter.writeline("</pre>"); 

      } 

      else if (stringtype.strcmp(str4, "js", false) == 0) 

      { 

        stringwriter.writeline("<pre>"); 

        string[] strs4 = strs1; 

        for (int k = 0; k < (int)strs4.length; k++) 

        { 

          string str2 = strs4[k]; 

          stringwriter.write(fixjsline(str2)); 

        } 

        stringwriter.writeline("</pre>"); 

      } 

      else if (stringtype.strcmp(str4, "vb", false) == 0) 

      { 

        stringwriter.writeline("<pre>"); 

        string[] strs3 = strs1; 

        for (int j = 0; j < (int)strs3.length; j++) 

        { 

          string str2 = strs3[j]; 

          stringwriter.write(fixvbline(str2)); 

        } 

        stringwriter.writeline("</pre>"); 

      } 

      else 

      { 

        bool flag2 = false; 

        bool flag1 = false; 

        stringwriter.writeline("<pre>"); 

        string[] strs2 = strs1; 

        for (int i1 = 0; i1 < (int)strs2.length; i1++) 

        { 

          string str2 = strs2[i1]; 

          _language = getlanguagefromline(str2, _language); 

          if (isscriptblocktagstart(str2)) 

          { 

            stringwriter.write(fixaspxline(str2)); 

            flag2 = true; 

          } 

          else if (isscriptblocktagend(str2)) 

          { 

            stringwriter.write(fixaspxline(str2)); 

            flag2 = false; 

          } 

          else if ((ismultilinetagstart(str2) & flag1 == false) != 0) 

          { 

            stringwriter.write(string.concat("<font color=blue><b>", httputility.htmlencode(str2))); 

            flag1 = true; 

          } 

          else if ((ismultilinetagend(str2) & flag1) != 0) 

          { 

            stringwriter.write(string.concat(httputility.htmlencode(str2), "</b></font>")); 

            flag1 = false; 

          } 

          else if (flag1) 

          { 

            stringwriter.write(httputility.htmlencode(str2)); 

          } 

          else if (flag2) 

          { 

            string str3 = _language.trim().tolower(); 

            if (stringtype.strcmp(str3, "c#", false) == 0) 

            { 

              stringwriter.write(fixcsline(str2)); 

            } 

            else if (stringtype.strcmp(str3, "js", false) == 0) 

            { 

              stringwriter.write(fixjsline(str2)); 

            } 

            else if (stringtype.strcmp(str3, "vb", false) == 0) 

            { 

              stringwriter.write(fixvbline(str2)); 

            } 

            else 

            { 

              stringwriter.write(fixvbline(str2)); 

            } 

          } 

          else 

          { 

            stringwriter.write(fixaspxline(str2)); 

          } 

        } 

        stringwriter.writeline("</pre>"); 

      } 

      stringwriter.writeline("</font>"); 

      stringwriter.flush(); 

      return stringbuilder.tostring(); 

    } 

  

    private string getlanguagefromline(string sinputline, string defaultlanguage) 

    { 

      string str1; 

  

      string str2 = defaultlanguage; 

      if (sinputline.length == 0) 

      { 

        str1 = str2; 

      } 

      else 

      { 

        match match = regex.match(sinputline, "(?i)<%@//s*page//s*.*language//s*=//s*/"(?<lang>[^/"]+)/""); 

        if (match.success) 

        { 

          str2 = match.groups["lang"].tostring(); 

        } 

        match = regex.match(sinputline, "(?i)(?=.*runat//s*=//s*/"?server/"?)<script.*language//s*=//s*/"(?<lang>[^/"]+)/".*>"); 

        if (match.success) 

        { 

          str2 = match.groups["lang"].tostring(); 

        } 

        match = regex.match(sinputline, "(?i)<%@//s*webservice//s*.*language//s*=//s*/"?(?<lang>[^/"]+)/"?"); 

        if (match.success) 

        { 

          str2 = match.groups["lang"].tostring(); 

        } 

        if (stringtype.strcmp(str2, "cs", false) == 0) 

        { 

          str2 = "c#"; 

        } 

        str1 = str2; 

      } 

      return str1; 

    } 

  

    private string fixcsline(string sinputline) 

    { 

      string str1; 

  

      string str3 = sinputline; 

      if (sinputline.length == 0) 

      { 

        str1 = sinputline; 

      } 

      else 

      { 

        str3 = regex.replace(sinputline, "(?i)(//t)", "    "); 

        str3 = httputility.htmlencode(str3); 

        string[] strs1 = new string[]{"private", "protected", "public", "namespace", "class", "break", "for", "if", "else", "while", "switch", "case", "using", "return", "null", "void", "int", "bool", "string", "float", 

       "this", "new", "true", "false", "const", "static", "base", "foreach", "in", "try", "catch", "get", "set", "char", "default"}; 

        string str2 = string.concat("(?<keyword>", string.join("|", strs1), ")"); 

        str3 = regex.replace(str3, string.concat("http://b", str2, "http://b(?<!//.*)"), "<font color=/"blue/">${keyword}</font>"); 

        str3 = regex.replace(str3, "(?<comment>//.*$)", "<font color=/"green/">${comment}</font>"); 

        str1 = str3; 

      } 

      return str1; 

    } 

  

    private string fixjsline(string sinputline) 

    { 

      string str1; 

  

      string str3 = sinputline; 

      if (sinputline.length == 0) 

      { 

        str1 = sinputline; 

      } 

      else 

      { 

        str3 = regex.replace(sinputline, "(?i)(//t)", "    "); 

        str3 = httputility.htmlencode(str3); 

        string[] strs1 = new string[]{"private", "protected", "public", "namespace", "class", "var", "for", "if", "else", "while", "switch", "case", "using", "get", "return", "null", "void", "int", "string", "float", 

       "this", "set", "new", "true", "false", "const", "static", "package", "function", "internal", "extends", "super", "import", "default", "break", "try", "catch", "finally"}; 

        string str2 = string.concat("(?<keyword>", string.join("|", strs1), ")"); 

        str3 = regex.replace(str3, string.concat("http://b", str2, "http://b(?<!//.*)"), "<font color=/"blue/">${keyword}</font>"); 

        str3 = regex.replace(str3, "(?<comment>//.*$)", "<font color=/"green/">${comment}</font>"); 

        str1 = str3; 

      } 

      return str1; 

    } 

  

    private string fixvbline(string sinputline) 

    { 

      string str2; 

  

      string str3 = sinputline; 

      if (sinputline.length == 0) 

      { 

        str2 = sinputline; 

      } 

      else 

      { 

        str3 = regex.replace(sinputline, "(?i)(//t)", "    "); 

        str3 = httputility.htmlencode(str3); 

        string[] strs1 = new string[]{"addressof", "delegate", "optional", "byval", "byref", "decimal", "boolean", "option", "compare", "binary", "text", "on", "off", "explicit", "strict", "private", "protected", "public", "end namespace", "namespace", 

       "end class", "exit", "class", "goto", "try", "catch", "end try", "for", "end if", "if", "else", "elseif", "next", "while", "and", "do", "loop", "dim", "as", "end select", 

       "select", "case", "or", "imports", "then", "integer", "long", "string", "overloads", "true", "overrides", "end property", "end sub", "end function", "sub", "me", "function", "end get", "end set", "get", 

       "friend", "inherits", "implements", "return", "not", "new", "shared", "nothing", "finally", "false", "me", "my", "mybase", "end enum", "enum"}; 

        string str1 = string.concat("(?<keyword>", string.join("|", strs1), ")"); 

        str3 = regex.replace(str3, string.concat("(?i)//b", str1, "http://b(?<!/’.*)"), "<font color=/"blue/">${keyword}</font>"); 

        str3 = regex.replace(str3, "(?<comment>/’(?![^/’]*&quot;).*$)", "<font color=/"green/">${comment}</font>"); 

        str2 = str3; 

      } 

      return str2; 

    } 

  

    private string fixaspxline(string sinputline) 

    { 

      string str1; 

  

      string str2 = sinputline; 

      if (sinputline.length == 0) 

      { 

        str1 = sinputline; 

      } 

      else 

      { 

        str2 = regex.replace(str2, "(?i)(//t)", "    "); 

        str2 = httputility.htmlencode(str2); 

        string str4 = "(?i)(?<a>(^.*))(?<b>(&lt;!--))(?<c>(.*))(?<d>(--&gt;))(?<e>(.*))"; 

        string str3 = "${a}<font color=/"green/">${b}${c}${d}</font>${e}"; 

        if (regex.ismatch(str2, str4)) 

        { 

          str2 = regex.replace(str2, str4, str3); 

        } 

        str4 = "(?i)(?<a>(&lt;%@))(?<b>(.*))(?<c>(%&gt;))"; 

        str3 = "<font color=blue><b>${a}${b}${c}</b></font>"; 

        if (regex.ismatch(str2, str4)) 

        { 

          str2 = regex.replace(str2, str4, str3); 

        } 

        str4 = "(?i)(?<a>(&lt;%#))(?<b>(.*))(?<c>(%&gt;))"; 

        str3 = "${a}<font color=red><b>${b}</b></font>${c}"; 

        if (regex.ismatch(str2, str4)) 

        { 

          str2 = regex.replace(str2, str4, str3); 

        } 

        str4 = "(?i)(?<a>(&lt;)(?!%)(?!/?asp:)(?!/?template)(?!/?property)(?!/?ibuyspy:)(/|!)?)(?<b>[^;//s&]+)(?<c>(//s|&gt;|//z))"; 

        str3 = "${a}<font color=/"maroon/">${b}</font>${c}"; 

        if (regex.ismatch(str2, str4)) 

        { 

          str2 = regex.replace(str2, str4, str3); 

        } 

        str4 = "(?i)(?<a>&lt;/?)(?<b>(asp:|template|property|ibuyspy:).*)(?<c>&gt;)?"; 

        str3 = "${a}<font color=/"blue/"><b>${b}</b></font>${c}"; 

        if (regex.ismatch(str2, str4)) 

        { 

          str2 = regex.replace(str2, str4, str3); 

        } 

        str4 = "(?i)(?<a>(&lt;)(/|!|%)?)"; 

        str3 = "<font color=/"blue/">${a}</font>"; 

        if (regex.ismatch(str2, str4)) 

        { 

          str2 = regex.replace(str2, str4, str3); 

        } 

        str4 = "(?i)(?<a>(/|%)?(&gt;))"; 

        str3 = "<font color=/"blue/">${a}</font>"; 

        if (regex.ismatch(str2, str4)) 

        { 

          str2 = regex.replace(str2, str4, str3); 

        } 

        str1 = str2; 

      } 

      return str1; 

    } 

  

    private bool isscriptblocktagstart(string sinputline) 

    { 

      bool flag1 = false; 

      if (regex.ismatch(sinputline, "<script.*runat=/"?server/"?.*>")) 

      { 

        flag1 = true; 

      } 

      else if (regex.ismatch(sinputline, "(?i)<%@//s*webservice")) 

      { 

        flag1 = true; 

      } 

      bool flag2 = flag1; 

      return flag2; 

    } 

  

    private bool isscriptblocktagend(string sinputline) 

    { 

      bool flag1 = false; 

      if (regex.ismatch(sinputline, "</script.*>")) 

      { 

        flag1 = true; 

      } 

      bool flag2 = flag1; 

      return flag2; 

    } 

  

    private bool ismultilinetagstart(string sinputline) 

    { 

      bool flag1 = false; 

      string str2 = "(?i)(?!.*&gt;)(?<a>&lt;/?)(?<b>(asp:|template|property|ibuyspy:).*)"; 

      if (regex.ismatch(httputility.htmlencode(sinputline), str2)) 

      { 

        flag1 = true; 

      } 

      bool flag2 = flag1; 

      return flag2; 

    } 

  

    private bool ismultilinetagend(string sinputline) 

    { 

      bool flag1 = false; 

      string str2 = "(?i)&gt;"; 

      if (regex.ismatch(httputility.htmlencode(sinputline), str2)) 

      { 

        flag1 = true; 

      } 

      bool flag2 = flag1; 

      return flag2; 

    } 

  } 

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天全县| 正宁县| 铁岭市| 伊通| 阿拉善右旗| 兴和县| 泰州市| 安龙县| 漾濞| 枣庄市| 德令哈市| 永靖县| 丹东市| 怀远县| 习水县| 台州市| 东山县| 黎平县| 库车县| 读书| 百色市| 临澧县| 新疆| 白银市| 巴林左旗| 天气| 景谷| 河间市| 什邡市| 彰化县| 邹城市| 哈巴河县| 育儿| 边坝县| 青神县| 台湾省| 合川市| 黑龙江省| 晴隆县| 大同市| 祁阳县|