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;
}
}
}