我有一個表單,用戶可以在視頻上留言。在人們輸入消息的表單裏面有一個褻瀆過濾器。它工作正常,並捕獲該單詞,如果它在消息中。我的問題是,是否有辦法突出顯示被抓到的單詞,以便用戶看到哪一個被認爲是褻瀆?如何突出顯示C#中的特定單詞?
這裏是正在形成並通過過濾器會消息:
if (context.Request["postform"] == "1")
{
ProfanityFilter filter = new ProfanityFilter();
// IF NEITHER THE MESSAGE OR FIRSTNAME CONTAINS ANY PROFANITY IN THEM
if (filter.containsProfanity(context.Request["message"]) == false && filter.containsProfanity(context.Request["first_name_submitter"]) == false)
{
videomessage myVideoMessage = new videomessage();
myVideoMessage.video_id = context.Request["video_id"];
myVideoMessage.first_name_submitter = context.Request["first_name_submitter"];
myVideoMessage.last_initial_submitter = context.Request["last_initial_submitter"];
myVideoMessage.message = context.Request["message"];
myVideoMessage.status = "0";
myVideoMessage.Save();
return_success = "1";
}
else
{
return_success = "0";
return_errormessage = "<span>Contains profanity</span>";
}
}
這裏是ProfanityFilter類:
public class ProfanityFilter
{
// ***********************************************************************
// CONSTRUCTORS
public ProfanityFilter()
{
}
// ***********************************************************************
// ************************************************************************
// METHOD: containsProfanity
public bool containsProfanity(string checkStr)
{
bool badwordpresent = false;
string[] inStrArray = checkStr.Split(new char[] { ' ' });
string[] words = this.profanityArray();
// LOOP THROUGH WORDS IN MESSAGE
for (int x = 0; x < inStrArray.Length; x++)
{
// LOOP THROUGH PROFANITY WORDS
for (int i = 0; i < words.Length; i++)
{
// IF WORD IS PROFANITY, SET FLAG AND BREAK OUT OF LOOP
//if (inStrArray[x].toString().toLowerCase().equals(words[i]))
if(inStrArray[x].ToLower() == words[i].ToLower())
{
badwordpresent = true;
break;
}
}
// IF FLAG IS SET, BREAK OUT OF OUTER LOOP
if (badwordpresent == true) break;
}
return badwordpresent;
}
// ************************************************************************
// ************************************************************************
// METHOD: profanityArray()
// METHOD OF PROFANITY WORDS
private string[] profanityArray()
{
string[] words = { // ARRAY OF WORDS };
return words;
}
}
有沒有一種方法來添加一些在else
突出字?甚至只是將其顏色從黑色改爲紅色?
預先感謝您!
你還沒有解釋如何向用戶顯示文本 - 就像HTML一樣?在一個網頁?在一個富文本框? – Dai
有人彈出一個表單,讓人們對視頻發表評論。如果評論通過過濾器,評論會自動發送到留言板,否則會顯示錯誤。 – Peter
這很明顯是ASP.NET,不知道彼得是否意識到這一點...... – code4life