背景有人在网站上问过这个问题,记录一下,以备日后收到更多适合自己目的的解决方案,欢迎留言/***删除所有标签属性,支持忽略标签*@param{*}strstringText*@param{*}ignoreArr要忽略的标签*/functiondeleteAllTagAttr(str,ignoreArr){if(typeofstr!=='string')returnletreg=newRegExp(`<(?!(${ignoreArr.join('|')}))(.*?)(?:>|\/>)`,'gi')returnstr.replace(reg,mstr=>{returnmstr.replace(/(<[A-z]+)(.*)?(\/?>)/gi,'$1$3')})}/***删除指定标签属性,*@param{*}strstringtext*@param{*}tagArr要删除属性的标签*/functiondeleteTagAttr(str,tagArr){if(typeofstr!=='string')returnletreg=newRegExp(`<(?:(${tagArr.join('|')}))(.*?)(?:>|\/>)`,'gi')returnstr.replace(reg,mstr=>{returnmstr.replace(/(<[A-z]+)(.*)?(\/?>)/gi,'$1$3')})}//测试文本lettest=`
