删除所见即所得的HTML和CSS标签为Excel导出

我有一个使用http://summernote.org/#/的WYSIWYG表单。 我在表单中使用它作为评论字段。 我正在使用PostgreSQL 9.3的数据库,并将数据从注释字段保存在text数据types。

所以,当你将它保存到数据库时,如果用户已经改变了文本的格式,例如字体样式,大小,换行符等等,所见即所得还将在其上添加HTML和CSS代码,并且也将一起保存在数据库中。 那么现在我有这个问题,当我在Datatable中显示这些注释时,注释看起来会很好,因为Web解释了HTML和CSS代码。 但是,当我将内容导出到Excel中时,我的数据处于混乱状态。

Excel将不会解释HTML和CSS标签和换行符,导致我的Excel输出中断。 很多换行符和一切。

有没有办法剥离这些HTML和CSS? 当我在jQuery的Datatables中渲染时,我想这样做,以便当Datatables加载时,HTML和CSS已经被剥离,所以我可以很容易地导出它,甚至复制粘贴。

 $.ajax({ url: "api/crm/detailedsummary", type: 'GET', data: {"from" : $("#fromDateAll").val(), "to" : $("#toDateAll").val()}, success: function(result){ var myObj = $.parseJSON(result); $.each(myObj, function(key,value) { table.row.add( [ value.calldatetime, value.phone_num, value.agent, value.gross_disposition, value.net_disposition, value.verified_status, value.passwithchanges_status, value.reject_status, value.verified_by, value.verified_date, value.comments ] ).draw(); }); }}); 

value.comments是一个HTML和CSS代码。

.replace 可能适用于这种情况:

 var comments = '<div id="someId">Hello <span>world!</span></div>'; console.log(comments.replace(/(<([^>]+)>)/ig,"")); 

正则expression式检查以下内容:

  • < 左标签
  • [^>] 除了正确的标记之外的任何东西
  • + 一次或多次
  • > 正确的标签