国产探花免费观看_亚洲丰满少妇自慰呻吟_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; 

    } 

  } 

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 二连浩特市| 浠水县| 安庆市| 灵武市| 会理县| 左贡县| 门源| 来宾市| 黄冈市| 昌江| 那坡县| 三亚市| 宜兰县| 清流县| 遂溪县| 读书| 凌海市| 昔阳县| 亳州市| 崇义县| 邵阳市| 齐河县| 昌乐县| 阜宁县| 五家渠市| 甘孜县| 广安市| 南康市| 辛集市| 大悟县| 兴宁市| 屏山县| 荥阳市| 乐清市| 应城市| 湘乡市| 琼中| 长沙县| 苏尼特左旗| 溆浦县| 长汀县|