- 当前 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;
}
这么复杂一大坨。。是要做啥啊
可以理解为去掉字符串中的html标签
你目的是去掉部分标签吗?还不是全部
应该是全部吧,我们库里的文章处理后都可以了,其他的没有遇到就没有整理了
光是标签去掉,标签里的内容留下?
不是能一行写吗
replace(/<\/?.+?>/ig,
""
)