- 当前 Bug 的表现(可附上截图)
之前一直正常,近一个月突然反馈此问题:Android(使用了多部Android手机皆如此)调用以下方法使用正则匹配卡死,iPhone执行相同方法可以达到效果。
- 提供一个最简复现 Demo
替换内容中html标签
function convertHtmlToText(inputText) {
var returnText = “” + inputText;
returnText = returnText.replace(/<\/div>/ig, ‘\r\n’);
returnText = returnText.replace(/<\/li>/ig, ‘\r\n’);
returnText = returnText.replace(/<li>/ig, ’ * ');
returnText = returnText.replace(/<\/ul>/ig, ‘\r\n’);
returnText = returnText.replace(/<br\s*[\/]?>/gi, “\r\n”);
returnText = returnText.replace(/<p.*?>/gi, “\r\n”);
returnText = returnText.replace(/<a.*href="(.*?)".*>(.*?)<\/a>/gi, " $2 ($1)");
returnText = returnText.replace(/<script.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/gi, “”);
returnText = returnText.replace(/<style.*>[\w\W]{1,}(.*?)[\w\W]{1,}<\/style>/gi, “”);
returnText = returnText.replace(/<(?:.|\s)*?>/g, “”);
returnText = returnText.replace(/(?:(?:\r\n|\r|\n)\s*){2,}/gim, “\r\n\r\n”);
returnText = returnText.replace(/ +(?= )/g, ‘’);
returnText = returnText.replace(/ /gi, " ");
returnText = returnText.replace(/&\w+;/gi, “”);
returnText = returnText.replace(/"/gi, ‘"’);
returnText = returnText.replace(/</gi, ‘<’);
returnText = returnText.replace(/>/gi, ‘>’);
return returnText;
}