问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 微信小程序 Bug replace函数 客户端 6.6.7 2.2.5
- 当前 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(/
/ig, ' * ');
returnText = returnText.replace(/<\/ul>/ig, '\r\n');
returnText = returnText.replace(/
/gi, "\r\n");
returnText = returnText.replace(//gi, "\r\n");
returnText = returnText.replace(/(.*?)<\/a>/gi, " $2 ($1)");
returnText = returnText.replace(/[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/gi, "");
returnText = returnText.replace(/[\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(/returnText = returnText.replace(/>/gi, '>');
return returnText;
}
微信小程序开发问题解答
微信小程序开发者回答:
这么复杂一大坨。。是要做啥啊
微信小程序开发者回答:
可以理解为去掉字符串中的html标签
微信小程序开发者回答:
你目的是去掉部分标签吗?还不是全部
微信小程序开发者回答:
应该是全部吧,我们库里的文章处理后都可以了,其他的没有遇到就没有整理了
微信小程序开发者回答:
光是标签去掉,标签里的内容留下?
微信小程序开发者回答:
不是能一行写吗
replace(/<\/?.+?>/ig,"")
微信小程序开发者回答:
哦哦。。你还不要style和script里的哈。。那就保留这两行,执行完后执行刚刚这一行就行了啊
微信小程序开发者回答:
恩,css的也不要....
微信小程序开发者回答:
returnText = returnText.replace(/.*?<\/script>/ig, ”);
returnText = returnText.replace(/.*?<\/style>/ig, ”);
returnText = returnText.replace(/(.*?)<\/a>/gi, " $2 ($1)");
returnText = returnText.replace(/<\/?.+?>/ig,"");
那就这4行就够了呀
本文网址:http://www.91bianli.com/kaifazhinan/74886.html