写了一个简单的语法着色类

来源:互联网 发布:软件项目经理职责 编辑:程序博客网 时间:2024/05/28 14:57

主要功能是把c#的文本代码转换成有颜色的html代码

实在是很笨一个类,只有两种着色模式(把关键字变蓝,把字符串变褐",但还能用...反正挺简单,把源代码也发出来,下面的源代码就是用这个类着色过的

using System;
using System.Text;
using System.Text.RegularExpressions;

namespace d_BlogCodeHelper
{
    
    public class ColorCodes
    {
        public string Font
        {
            get { return font; }
            set { font = value; }
        }
        public string FontSize
        {
            get { return fontSize; }
            set { fontSize = value; }
        }
        public string BlueColor
        {
            get { return blueColor; }
            set { blueColor = value; }
        }
        public string BrownColor
        {
            get { return brownColor; }
            set { brownColor = value; }
        }
        public string GreenColor
        {
            get { return greenColor; }
            set { greenColor = value; }
        }

        public string BrownAndBlueWords(string oldtext)
        {
            StringBuilder text = new StringBuilder(oldtext);
            text.Replace(" "" ");
            text.Replace("<""<");
            text.Replace(">"">");
            text.Replace("/n""<br/>");
            text.Insert(0, "<font face='" + Font + "'><font size='" + FontSize + "'>");
            text.Append("</font>");
            foreach (string nowWord in blueWords)
            {
                text.Replace(nowWord, "<font color='#" + blueColor + "'>" + nowWord + "</font>");
            }

            Regex findString = new Regex("/"(////?.)*?/"");
            MatchCollection allStrings = findString.Matches(text.ToString());
            foreach (Match oneString in allStrings)
            {
                text.Replace(oneString.Value, "<font color='#" + brownColor + "'>" + oneString.Value + "</font>");
            }
            return text.ToString();
        }

        public string BlueWords(string oldtext)
        {
            StringBuilder text = new StringBuilder(oldtext);
            text.Replace(" "" ");
            text.Replace("<""<");
            text.Replace(">"">");
            text.Replace("/n""<br/>");
            text.Insert(0, "<font face='" + Font + "'><font size='"+FontSize+"'>");
            text.Append("</font>");
            foreach (string nowWord in blueWords)
            {
                text.Replace(nowWord, "<font color='#"+blueColor+"'>" + nowWord + "</font>");
            }
            return text.ToString();
           
        }


        private string font = "Tahoma";
        private string fontSize="1";
        private string blueColor="0000ff";
        private string greenColor="008800";
        private string brownColor = "a31515"

//下面一个储存所有C#关键字的数组,但是对于在字符串里出现的关键字,这个类处理的还不够好

        private string[] blueWords ={     }

}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 买电脑被坑了怎么办啊 在电脑城被坑了怎么办 小狗20天不睁眼怎么办 金星秀停播沈南怎么办 干了活拿不到钱怎么办 干完活要不到钱怎么办 让蚊子咬了很痒怎么办 秋天被蚊子咬了怎么办 练芭蕾脚背太硬怎么办 杨梅酒里的杨梅怎么办 月经期喝了啤酒怎么办 泡过酒的樱桃怎么办 泡了酒的桑葚怎么办 不知怀孕喝了酒怎么办 香氛蜡烛记忆环怎么办 我吃了马兜铃怎么办呀 肝肾衰弱有毒素怎么办 肾阴虚阳虚都有怎么办 吃辣刺激胃疼怎么办 舌头没有舌苔有裂纹疼痛怎么办 舌苔厚黄是怎么回事且口臭怎么办 舌苔厚白是怎么回事且口臭怎么办 长期有舌苔白厚怎么办 小孩的舌苔厚白怎么办 口苦口臭舌苔黄怎么办 婴儿的舌苔厚白怎么办 舌苔黄厚口臭痒怎么办 想让月经提前来怎么办 宝宝拉肚子怎么办吃什么好 投资p2p跑路了怎么办 借钱不还怎么办最有效 朋友借小钱不还怎么办 网络上贷款不还怎么办 网贷实在还不了怎么办 娱乐平台跑路了怎么办 360借条被拒了怎么办 网贷注册太多了怎么办 汽车大绿本丢了怎么办 网贷平台跑路怎么办 电脑中了1kb病毒怎么办 360网页走丢了怎么办