在前端或微信小程序百度小程序开发时,必要时会涉及到获取服务器Json数据的处理。其中Json数据里面可能包含了一些HTML标签和一些特殊字符,提供一个可以清除Json数据里面的HTML标签和特殊字符清除的代码
/**
* 清除Json Html
* @param {Object} obj json 对象
* @author dengmengxin
*/
function ClearJsonHtml(obj) {
if (obj && typeof(obj) == "object") {
try {
for (var field in obj) {
if (typeof (obj[field]) == "object") {
// 递归遍历
ClearJsonHtml(obj[field]);
} else {
// 打印结果
//console.log(field + "=" + obj[field]);
// 如果是字符串,可以实现更多操作
if (typeof (obj[field]) == "string") {
obj[field] = ClearHtml(/%u[0-9a-zA-Z]+/g.test(obj[field]) ? unescape(obj[field]) : obj[field]);
}
}
}
} catch (error) {
console.log(error);
}
}
}
function ClearHtml(str) {
if (str == undefined || str == null) return '';
return str.replace(/ ;/g, '').replace(/<br \/>/g, '\n').replace(/<br>/g, '\n').replace(/ /g, " ").replace(/&rdquo/g, '').replace(/&ldquo/g, '').replace(/&rarr/g, '').replace(/…/g, '').replace(/;/g, '').replace(/&mdash/g, '').replace(/&alpha/g, 'α').replace(/<p>/g, '').
replace('</p>', '').replace(/<br\/>/g, '\n').replace(/<.+?>/g, '');
}