18910140161

对js富格文本编辑器进行转义 删除转义 删除HTML标签

顺晟科技

2021-09-17 11:35:32

156

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

function htmlEncode(value){
  return $(\'<div/>\').text(value).html();
}

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

  /*移除HTML标签代码*/
    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];}); 
    } 

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

 //转意符换成普通字符
    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];}); 
    } 

 

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航