部分字符窜设置颜色的问题 语言是c#,要实现的功能是,我有一个关键字数组,里面是违规输入字,在一个textarea中,输入一段字符窜,把其中的违规的关键字用红色表示出来,请问该怎么做呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数组里面存的都是违规字符窜,比如说“我靠”等等,如果textarea输入的字符窜中含有“我靠”,就把“我靠”变成红色,希望大家多用代码来表示 我这个是textarea,能详细说说嘛? <script> function SetColor() { var divElement = document.createElement("div"); var text=document.getElementById("TextArea1"); divElement.innerHTML =text.innerText.replace(/混乱/g, "<a style=color:Blue >混乱</a>"); text.innerText=""; text.appendChild(divElement); }</script> <form name="form1" method="post" action="Default.aspx" id="form1"><div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZOs/Rl6yWa9V6FOUH3J+/65KInQ1" /></div> <div> <textarea id="TextArea1" cols="20" rows="2"> 生活一片混乱,世界一片混乱 </textarea> <input id="Button1" type="button" value="button" onclick="SetColor()" /> </div> </form></body> var vStr = "tttdff|dff1|dff2|dff3";var str = vStr.split("|"); for(var i = 0;i<str.length;i++) { var divElement = document.createElement("div"); var text = document.getElementById("ctl00_ContentPlaceHolder1_txtContent1"); var regv = "/"+str[i]+"/g";//alert(str[i]),值都能显示出来 divElement.innerHTML = text.innerText.replace(regv, "<a style=color:Blue >"+str[i]+"</a>"); text.innerText = ""; text.appendChild(divElement); }加数组之后就不亮了,哪里出问题了? 你可以用一个div来模拟textarea,设置div的属性contentEditable="true" designMode="on"即可:<div contentEditable="true" designMode="on" style="width:200;height:300px;border:solid 1px black"> <font color=red><a>hongse de </a></font>gasgasga</div>你可以看到已经有颜色了,那么你如果要检查是否有“屏蔽词”在里面,可以直接indexof。要变色直接按照css的规范来操作。考虑到变色后会有标签在文本里面,可以用两个div,一个用于显示真实的text,另一个和用于显示变色后的text。将真实的div隐藏,用js实现两div的有效内容同步 =========动态创建数据库的脚本应该放在哪里?=========== 请问如何用Newtonsoft.Json读取多级json?? 如何动态改变定时器的间隔 窗口消息传递的问题,API高手进。 请问学C#怎样可以更透彻 50分求学习 XML 的资源,最好结合 .NET 例子 请教一个正则的问题! 输入法??????? 为什么调用DataSet的Clear方法后执行更新不起作用?郁闷 请问在IE打印时怎么可以作到不出现超级连接??急!!在线等 关于repeater的使用。哥哥们。 搜索*.hhc文件下的字符串
function SetColor() {
var divElement = document.createElement("div");
var text=document.getElementById("TextArea1");
divElement.innerHTML =text.innerText.replace(/混乱/g, "<a style=color:Blue >混乱</a>");
text.innerText="";
text.appendChild(divElement);
}
</script>
<form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2MTY2ODcyMjlkZOs/Rl6yWa9V6FOUH3J+/65KInQ1" />
</div>
<div>
<textarea id="TextArea1" cols="20" rows="2">
生活一片混乱,世界一片混乱
</textarea>
<input id="Button1" type="button" value="button" onclick="SetColor()" />
</div>
</form>
</body>
var str = vStr.split("|");
for(var i = 0;i<str.length;i++)
{
var divElement = document.createElement("div");
var text = document.getElementById("ctl00_ContentPlaceHolder1_txtContent1");
var regv = "/"+str[i]+"/g";//alert(str[i]),值都能显示出来
divElement.innerHTML = text.innerText.replace(regv, "<a style=color:Blue >"+str[i]+"</a>");
text.innerText = "";
text.appendChild(divElement);
}
加数组之后就不亮了,哪里出问题了?
<div contentEditable="true" designMode="on" style="width:200;height:300px;border:solid 1px black">
<font color=red><a>hongse de </a></font>gasgasga
</div>
你可以看到已经有颜色了,那么你如果要检查是否有“屏蔽词”在里面,可以直接indexof。要变色直接按照css的规范来操作。
考虑到变色后会有标签在文本里面,可以用两个div,一个用于显示真实的text,另一个和用于显示变色后的text。将真实的div隐藏,用js实现两div的有效内容同步