//去掉html标签
export function removeHtmlTab(tab) {
return tab.replace(/<[^<>]+?>/g, ''); //删除所有HTML标签
}
//普通字符转换成转意符
export function html2Escape(sHtml) {
return sHtml.replace(/[<>&"]/g, function(c) {
return {
'<': '<',
'>': '>',
'&': '&',
'"': '"'
} [c];
});
}
//转意符换成普通字符
export function escape2Html(str) {
var arrEntities = {
'lt': '<',
'gt': '>',
'nbsp': ' ',
'amp': '&',
'quot': '"',
'deg':'°',
'rsquo':'’',
};
return str.replace(/&(lt|gt|nbsp|amp|quot|deg|rsquo);/ig, function(all, t) {
console.log("arrEntities",t)
return arrEntities[t];
});
}
// 转成空格
export function nbsp2Space(str) {
var arrEntities = {
'nbsp': ' '
};
return str.replace(/&(nbsp);/ig, function(all, t) {
return arrEntities[t]
})
}
//回车转为br标签
export function return2Br(str) {
return str.replace(/\r?\n/g, "<br />");
}
//去除开头结尾换行,并将连续3次以上换行转换成2次换行
export function trimBr(str) {
str = str.replace(/((\s| )*\r?\n){3,}/g, "\r\n\r\n");
//限制最多2次换行
str = str.replace(/^((\s| )*\r?\n)+/g, '');
//清除开头换行
str = str.replace(/((\s| )*\r?\n)+$/g, '');
//清除结尾换行
return str;
}
// 将多个连续空格合并成一个空格
export function mergeSpace(str) {
str = str.replace(/(\s| )+/g, ' ');
return str;
}
export function filterHtml(str) {
//删掉HTML
str = removeHtmlTab(str)
// //去除开头结尾换行,并将连续3次以上换行转换成2次换行
// str = trimBr(str)
// // 将多个连续空格合并成一个空格
// str = mergeSpace(str)
// str = nbsp2Space(str)
str = escape2Html(str)
console.log("str",str)
return str
}