其实从html富文本中提取纯文本很简单,富文本基本上是使用html标签给文本加上丰富多彩的样式。
所以只需要将富文本字符串中的“<.....>”标签剔除,即可得到纯文本。我们可以使用正则表达式,来匹配所有的html标签,并替换成空字符,如下:
//html剔除富文本标签,留下纯文本
function getSimpleText(html){
var re1 = new RegExp("<.+?>","g");//匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
var msg = html.replace(re1,'');//执行替换成空字符
return msg;
}
下面是给xheditor富文本框onblur事件,设置一个事件响应方法,事件触发,从富文本中提取纯文本,并搬移到另一个文本框。
editor2 = $("#content0") .xheditor(
{
tools : 'Blocktag,Fontface,FontSize,Bold,Italic,Underline,Strikethrough,FontColor,BackColor,Removeformat,Align,List,Outdent,Indent,Link,Unlink,Img,Hr,Table,Emot',
html5Upload : false,
upMultiple : '99',
upImgUrl : '../notice/contentImg.action',
upImgExt : 'jpg,png',
upLinkUrl : '../notice/contentImg.action',
upLinkExt : 'jpg,png',
width : '660',
height : '331',
disableContextmenu : true,
beforeGetSource : converter,
blur : function(){//从公告内容html中提取纯文本,同步到短信内容testarea
var a = getSimpleText(editor2.getSource())
$("#messagecontent0").val(a);
}
});