过滤非法字符(脏字)的类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Web;
using System.Collections;

namespace ******.WebHelper
{
    
public class FilterText
    {
        
string FilePath = string.Empty;
        
public FilterText()
        {
            FilePath 
= HttpContext.Current.Server.MapPath("~/Config/ValidDict.txt");//脏字文件的路径
        }
        
/// <summary>
        
/// 读文件的内容
        
/// </summary>
        
/// <param name="url">物理路径</param>
        
/// <returns></returns>
        public string ReadFilterText()
        {
            FileStream fsReadDefaultTemplate 
= new FileStream(FilePath, FileMode.Open, FileAccess.Read);
            StreamReader srReadDefaultTemplate 
= new StreamReader(fsReadDefaultTemplate, System.Text.Encoding.UTF8);
            
string content = srReadDefaultTemplate.ReadToEnd();
            fsReadDefaultTemplate.Close();
            srReadDefaultTemplate.Close();
            
return content;
        }

        
/// <summary>
        
/// 写非法关键字到文件
        
/// </summary>
        
/// <param name="url">物理路径</param>
        
/// <param name="content">内容</param>
        
/// <returns></returns>
        public void WriteFilterText(string content)
        {
            FileStream fs 
= new FileStream(FilePath, FileMode.Create, FileAccess.Write);
            StreamWriter sw 
= new StreamWriter(fs, System.Text.Encoding.UTF8);            
            sw.Write(content);
            sw.Close();
            fs.Close();
        }
        
/// <summary>
        
/// 过滤非法字符,替换为*号
        
/// </summary>
        
/// <param name="TempStr">需要过滤的字符串</param>
        
/// <returns></returns>
        public string FilterInfo(string TempStr)
        {
            
if (File.Exists(FilePath))
            {
                StreamReader objReader 
= new StreamReader(FilePath, System.Text.Encoding.UTF8);
                
string sLine = "";
                ArrayList arrText 
= new ArrayList();
                
while (sLine != null)
                {
                    sLine 
= objReader.ReadLine();
                    
if (sLine != null)
                        arrText.Add(sLine);
                }
                objReader.Close();
                
foreach (string sOutput in arrText)
                {
                    
string[] strArr = sOutput.Split(new char[] { (char)10, (char)13 }, StringSplitOptions.RemoveEmptyEntries);

                    
for (int i = 0; i < strArr.Length; i++)
                    {
                        
string temp = "";
                        
for (int j = 0; j < strArr[i].Length; j++)
                        { temp 
+= "*"; }
                        TempStr 
= TempStr.Replace(strArr[i], temp);
                    }
                }
            }
            
return TempStr;
        }
    }
}

转载于:https://www.cnblogs.com/skyshenwei/archive/2010/06/04/1751544.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值