js处理网页编辑器转义、去除转义、去除HTML标签的正则

时间:2021-05-02

富文本编辑器生成的HTML标签,进行转义,然后写入数据库,防止脚本注入:

? 1 2 3 function htmlEncode(value){   return $('<div/>').text(value).html(); }

1、从数据库拿出的转义后的HTML标签内容,先得去除转义,然后再去除HTML标签,是生成缩略文字。

? 1 2 3 4 5 6 7 8 9 10 11 12 13 function removeHTMLTag(str) { str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白 //str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行 str=str.replace(/ /ig,'');//去掉 return str; } //转意符换成普通字符 function escape2Html(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];}); }

如果是文章详情页的话,直接去除转义就可以显示在页面了:

? 1 2 3 4 5 //转意符换成普通字符 function escape2Html(str) { var arrEntities={'lt':'<','gt':'>','nbsp':' ','amp':'&','quot':'"'}; return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,function(all,t){return arrEntities[t];}); }

2、JS正则过滤(去除)富文本编辑器中的FONT-SIZE标签

var test=test.replace(/font-size:\w+;?/g,'');

3、js处理去掉富文本编辑的html,样式,只显示纯文字内容,以供列表页使用

? 1 2 3 4 5 6 7 8 9 <script type="text/javascript"> var description = '<p style="margin-top:19.5pt;margin-right:0cm;margin-bottom:19.5pt;margin-left: 0cm;text-indent:24.1pt;mso-char-indent-count:2.0;mso-pagination:widow-orphan"> <b><span lang="EN-US" style="font-family:宋体;mso-bidi-font-family:宋体;color:#252525">1.</span></b><b><span style="font-family:宋体;mso-bidi-font-family:宋体;color:#252525">国际保险经纪行业收入分析<span lang="EN-US"><o:p></o:p></span></span></b></p> <p style="margin-top:19.5pt;margin-right:0cm;margin-bottom:19.5pt;margin-left: 0cm;text-indent:24.0pt;mso-char-indent-count:2.0;mso-pagination:widow-orphan"> <span lang="EN-US" style="font-family:宋体;mso-bidi-font-family:宋体;color:#252525">2010</span><span style="font-family:宋体;mso-bidi-font-family:宋体;color:#252525">年全球保险经纪行业市场规模为<span lang="EN-US">437.56</span>亿美元,<span lang="EN-US">2015</span>年增长至<span lang="EN-US">581.3</span>亿美元。<span lang="EN-US"><o:p></o:p></span></span></p> <p align="center" style="margin-top:19.5pt;margin-right:0cm;margin-bottom:19.5pt; margin-left:0cm;text-align:center;mso-pagination:widow-orphan"> <span lang="EN-US" style="font-family:宋体;mso-bidi-font-family:宋体;color:#252525">2010-2015</span><span style="font-family:宋体;mso-bidi-font-family:宋体;color:#252525">年国际保险经纪行业市场规模:亿美元</span></p> <p style="margin: 19.5pt 0cm; text-indent: 24.1pt; text-align: center;"> <img id="codetool">

4、jQuery JavaScript正则表达式与\n代替<BR>

Lee TaylorTeneff给出了该问题的处理方式:

var str = document.getElementById('mydiv').innerHTML;
document.getElementById('mytextarea').innerHTML = str.replace(/<br\s*[\/]?>/gi, "\n");

or using jQuery:

var str = $("#mydiv").html();
var regex = /<br\s*[\/]?>/gi;
$("#mydiv").html(str.replace(regex, "\n"));

5、要去除html标签,图片,换行,回车等

? 1 2 3 4 5 description = description.replace(/(\n)/g, ""); description = description.replace(/(\t)/g, ""); description = description.replace(/(\r)/g, ""); description = description.replace(/<\/?[^>]*>/g, ""); description = description.replace(/\s*/g, "");

6、服务器之家小编写的一个替换fackeditor中的多余br与空行的

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 //加强替换主要是考虑多个br的问题 function doRepAdvance(s){ var str=s.replace(/<p><br type="_moz"><\/p>/ig,""); str=str.replace(/<br type="_moz">\n&nbsp;<\/p>/ig, "</p>"); str=str.replace(/<br type="_moz">\n<\/p>/ig, "</p>"); str=str.replace(/<br type="_moz">\n\r<\/p>/ig, "</p>"); str=str.replace(/<br type="_moz"><\/p>/ig,"</p>"); str=str.replace(/<br \/>\n&nbsp;<\/p>/ig, "</p>"); str=str.replace(/<br>\n&nbsp;<\/p>/ig, "</p>"); str=str.replace(/<br \/>\n<\/p>/ig, "</p>"); str=str.replace(/<br \/>\n\r<\/p>/ig, "</p>"); str=str.replace(/(<br>\n){1,}<\/p>/ig,"</p>"); str=str.replace(/(<br>){1,}<\/p>/ig,"</p>"); str=str.replace(/<br>\n<\/p>/ig, "</p>"); str=str.replace(/<br><\/p>/ig,"</p>"); str=str.replace(/<p> <\/p>/ig,""); str=str.replace(/<p>&nbsp;<\/p>/ig,""); str=str.replace(/<p> <\/p>/ig,""); str=str.replace(/<p><\/p>/ig,""); return str; }

到此这篇关于js处理富文本编辑器转义、去除转义、去除HTML标签的正则的文章就介绍到这了,更多相关编辑器转义、去除转义、去除HTML标签内容请搜素服务器之家以前的文章或下面相关文章,希望大家以后多多支持服务器之家!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章