/// <summary> /// Called to evaluate the HTML fragment corresponding to each /// matching token in the code. /// </summary> /// <param name="match">The <see cref="Match"/> resulting from a /// single regular expression match.</param> /// <returns>A string containing the HTML code fragment.</returns> protected override string MatchEval(Match match) { if (match.Groups[1].Success) //JavaScript code { //string s = match.ToString(); return(jsf.FormatSubCode(match.ToString())); } if (match.Groups[2].Success) //comment { var reader = new StringReader(match.ToString()); string line; var sb = new StringBuilder(); while ((line = reader.ReadLine()) != null) { if (sb.Length > 0) { sb.Append("\n"); } sb.Append("<span class=\"rem\">"); sb.Append(line); sb.Append("</span>"); } return(sb.ToString()); } if (match.Groups[3].Success) //asp tag { return("<span class=\"asp\">" + match.ToString() + "</span>"); } if (match.Groups[4].Success) //asp C# code { return(csf.FormatSubCode(match.ToString())); } if (match.Groups[5].Success) //tag delimiter { return("<span class=\"kwrd\">" + match.ToString() + "</span>"); } if (match.Groups[6].Success) //html tagname { return("<span class=\"html\">" + match.ToString() + "</span>"); } if (match.Groups[7].Success) //attributes { return(attribRegex.Replace(match.ToString(), new MatchEvaluator(this.AttributeMatchEval))); } if (match.Groups[8].Success) //entity { return("<span class=\"attr\">" + match.ToString() + "</span>"); } return(match.ToString()); }