一、UBB翻译
  为了防止用户用恶意代码留言,大部分论坛都不允许使用HTML语句做为回帖内容(或者进行了转义),但是这限制了用户的发挥,比如用户无法粘贴超链接、无法粘贴图片地址,无法把自己发送的文字进行加粗,改变字号。为了解决这个问题,人们设计出了UBB代码,它提供了有限的、无危害的功能,用户只要遵循代码规则就可以实现用户想要的功能。
  UBB实现:字符串替换Replace
 
二、敏感词处理
直接实例来说明(老被和谐,让哥也和谐一把)
实例:1、做一个WinForm页面,放一个多行文本框,点击按钮对文本框中的内容当作帖子进行判断。如果所发的文字中含"1.TXT"中的过滤词,就进行禁止发送处理。
过滤词:
出售手。枪={BANNED}
出售银行卡={BANNED}
传真群发={BANNED}
春药={BANNED}
网络推广={MOD}
网络营销={MOD}
网上办证={BANNED}
网上订机票={BANNED}
…………………………
 
 1  private void button1_Click(object sender, EventArgs e)
 2         {
 3             //定义两个集合分别接受禁止发送内容和需要审核的内容
 4             List<string> mod = new List<string>();
 5             List<string> banned = new List<string>();
 6             //读取,注意读取的时候别乱码
 7             string[] str = File.ReadAllLines(@"d:\1.txt", Encoding.Default);
 8            //遍历数组并进行匹配,把匹配结果添加到集合中
 9             foreach (string item in str)
10             {
11                 Match match = Regex.Match(item, "(.+)={(.+)}");
12                 if (match.Success)
13                 {
14                     if (match.Groups[2].ToString() == "MOD")
15                     {
16                         mod.Add(match.Groups[1].ToString());
17                     }
18                     else
19                     {
20                         banned.Add(match.Groups[1].ToString());
21                     }
22                 }
23             }
24             //用禁止发送为例
25             //第一种方法,遍历banned数组,如果输入文字包含集合内容就禁止发送
26             //foreach (string item in banned)
27 
28             //{
29             //    if (textBox1.Text.Contains(item))
30             //    {
31             //        MessageBox.Show("禁止发送");
32             //        return;
33             //    }
34             //else
35             //{
36             //    MessageBox.Show("发送成功");
37             //    return;
38             //}
39 
40             //}
41 
42             //第二中方法,把集合内容转换为数组并用“|”分割,作为正则表达式
43             string reg = string.Join("|", banned.ToArray());
44             Match match2 = Regex.Match(textBox1.Text, reg);
45             if (match2.Success)
46             {
47                 MessageBox.Show("禁止发送");
48                 return;
49             }
50             else
51             {
52                 MessageBox.Show("发送成功");
53                 return;
54             }
55 
56         }

 

 

 

posted on 2013-05-29 23:01  星星daddy  阅读(864)  评论(2编辑  收藏  举报