C# 屏蔽關(guān)鍵字的實現(xiàn)方法
更新時間:2013年05月06日 18:26:33 作者:
前段時間在公司做了一個論壇屏蔽關(guān)鍵字的功能,我做的比較簡單、實用~ 現(xiàn)在拿出來給博友們分享下..也希望大家能頂頂我~
新建一個txt的文本(代碼中讀取這個文本文檔路徑就行,命名隨意)
里面的內(nèi)容一行代表一個,因為我是按行來遍歷循環(huán)讀取要屏蔽的關(guān)鍵字.然后用一個*號來屏蔽一個關(guān)鍵字,
例如: 在論壇中輸出"草泥馬",涉及到一些比較敏感的話題、名字,在一些推廣比較火爆的網(wǎng)站里,都是不允許的,所以這里會只顯示"***"。
這里代碼下面我給出來了,注釋都比較詳細(xì)..不懂的可以留言問我.希望博友每天能進步一點點..
復(fù)制代碼 代碼如下:
/// <summary>
/// 屏蔽非法字符串(如果有出現(xiàn)非法字符,那么用"***"來替換)
/// </summary>
/// <param name="strText">要檢測的字符串</param>
/// <returns>返還一個健康的字符</returns>
public static string CheckKeyword(string strText)
{
IList<string> list = new List<string>(); //實例化一個數(shù)據(jù)集
string strpath = System.Web.HttpContext.Current.Server.MapPath("function/keyword.txt"); //獲取文本文檔路徑
int a =strpath.LastIndexOf("IFSns");
int b =strpath.IndexOf("function");
string m = strpath.Substring(a+5, b - a - 6);
string PathTxt = strpath.Replace(m, ""); //獲取調(diào)用這個方法的相對路徑
FileStream fs = new FileStream(PathTxt, FileMode.Open, FileAccess.Read); //打開txt文檔,將數(shù)據(jù)存到文件流中
StreamReader reader = new StreamReader(fs, Encoding.Default); //文件讀取
string strLine = reader.ReadLine();
while (strLine!=null&&strLine.Length != 0) //有數(shù)據(jù)
{
list.Add(strLine.Trim().Replace(" ","")); //如果讀取到的數(shù)據(jù)有空格,則刪除空格,并且存到string數(shù)據(jù)集中
strLine = reader.ReadLine(); //每讀取一次,從該行下一行開始繼續(xù)讀取
}
fs.Close(); //關(guān)閉文件流
foreach (string str in list) //循環(huán)遍歷文件流
{
if (strText.Contains(str))
{
int lg = str.Length;
string sg = "";
for (int i = 0; i < lg; i++)
{
sg+="*";
}
strText = strText.Replace(str, sg); //如果含有txt文檔中的關(guān)鍵字,則替換為"***"
}
}
return strText;
}
您可能感興趣的文章:
相關(guān)文章
C#進階系列 WebApi身份認(rèn)證解決方案推薦:Basic基礎(chǔ)認(rèn)證
下面小編就為大家?guī)硪黄狢#進階系列 WebApi身份認(rèn)證解決方案推薦:Basic基礎(chǔ)認(rèn)證。小編覺得挺不錯的,現(xiàn)在分享給大家。給大家一個參考。一起跟隨小編過來看看吧2016-03-03C#連接Oracle數(shù)據(jù)庫的多種方法總結(jié)
最近小項目當(dāng)中要使用C#來連接Oracle數(shù)據(jù)庫來完成系統(tǒng)的操作,這篇文章主要給大家介紹了關(guān)于C#連接Oracle數(shù)據(jù)庫的多種方法,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04