现在的位置: 首页 > 综合 > 正文

C#实现了语法加亮。

2012年07月07日 ⁄ 综合 ⁄ 共 1107字 ⁄ 字号 评论关闭
核心代码来自AspNetForums.

StringWriter textBuffer = new StringWriter();
Match match= Regex.Match(HTMLStr,@"\",RegexOptions.IgnoreCase | RegexOptions.Compiled);
if(match==null)
{
Response.Write(HTMLStr);
return;
}

string codeType = match.Groups["codeType"].Value;
string content = match.Groups["codeContent"].Value;
if(codeType==String.Empty || content==String.Empty)
{
Response.Write(HTMLStr);
return;
}
// MessageBox.Show(codeType);
// MessageBox.Show(content);
string[] sr = content.Split(Convert.ToChar("\n"));
if(codeType=="C#")
{
textBuffer.Write("<Csharp>\r\n");
foreach(string sourceLine in sr)
{
textBuffer.Write(FixCSLine(sourceLine)) ;
textBuffer.Write("\r\n");
}
textBuffer.Write("</Csharp>");
}
else if(codeType=="JScript.Net")
{
textBuffer.Write("<JScript.Net>\r\n");
foreach(string sourceLine in sr)
{
textBuffer.Write(FixJSLine(sourceLine)) ;
textBuffer.Write("\r\n");
}
textBuffer.Write("</JScript.Net>");
}
else if(codeType=="VB")
{
textBuffer.Write("<VB>\r\n");
foreach(string sourceLine in sr)
{
textBuffer.Write(FixVBLine(sourceLine)) ;
textBuffer.Write("\r\n");
}
textBuffer.Write("</VB>");
}

效果如下:

http://forums.coder.cn/forum/topic.aspx?author_id=2&topic_id=11&category_id=9

抱歉!评论已关闭.