日期:2014-05-17 浏览次数:20609 次
? ? ?今天使用nicEdit文本编辑器时,在输入内容应用样式(如加粗B,下划线U),或从其他地方复制内容到该文本编辑器中之后,获取的内容将会是带有这些样式的内容,即加入了html的样式格式,而得不到真正想要的纯文本内容。忙活了半天,我找到了解决办法,就是把取得的内容通过正则表达式把里面的html样式格式代码全过滤掉。现在做一下笔记:
? ? 首先,在页面中加入nicEdit,并把其作用于textarea标签上,如下
?
<div id="sample"> <script type="text/javascript" src="../nicEdit.js"></script> <script type="text/javascript"> bkLib.onDomLoaded(function() { //nicEditors.allTextAreas() ndPanel = new nicEditor({ fullPanel: true }).panelInstance('ct'); ndinstance = ndPanel.nicInstances[0]; }); </script> </div> <textarea id="ct" name="area1" cols="40"></textarea> <input type="button" onclick="getCont()" value="getContent"/>
?
? ? ?里面有一个获取内容的按钮,在getCont()方法中,取得真正的内容,如下:
?
<script type="text/javascript"> function getCont(){ var c = ndinstance.getContent(); alert(c); var start_ptn = /(<.[^>]+>)*/gmi; //过滤标签开头 var end_ptn = /<\/?\w+>$/; //过滤标签结束 var space_ptn = /( )*/; //过滤空格 var c1 = c.replace(start_ptn,"").replace(end_ptn).replace(space_ptn,""); alert(c1); } </script>?
得到的c1就是过滤之后的纯文本内容。