ユーザーが動画にコメントを残すためのポップアップ フォームがあります。人々がメッセージを入力するフォーム内には、冒涜的なフィルターが配置されています。それは正常に機能し、メッセージ内にある場合はその単語をキャッチします。私の質問は、キャッチされた単語を強調表示して、どれが冒とく的であると見なされたかをユーザーが確認できるようにする方法があるかどうかです。
形成され、フィルターを通過するメッセージは次のとおりです。
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
単語を強調するために何かを追加する方法はありますか? それとも、色を黒から赤に変えるだけですか?
前もって感謝します!