删除html文本中的标签属性

2024-04-06 22:31:13

阅读:227
分类:代码段
标签:jshtml

删除html文本中的标签属性

背景后端返回一段html需要将标签中是属性删除

实现方案

正则替换

/**
 * @param str:String 要替换的文本 
 * @param tagArr:Array[String] 需要删除属性的tag 
 * @return String
*/
function delAttr(str, tagArr) {
  if (typeof str !== 'string') return
  let reg = new RegExp(`<(?=(${tagArr.join('|')})\\b)(.*?)(?=\>|\/>)`, 'gi')
  return str.replace(reg, '<$1 ')
}

let res = delAttr(test, ['div', 'a', 'input'])

test

let test = `
    <div class="seach-nav-c goods-top-seach"></div>
    <div class='kkk' ><span class='dss'>水电费费</span></div>
    <p><input type='text' value='ssss'/></p>
    <img src="http://1907/10172941e5ft.jpg"  alt="" class="seach-ad-img" />
    <video src="ssss" class="sss"></video>
    <audio src="ssss" class="sss"></audio>
    <a href="ssss" >fdsf </a>
    `
let res = delAttr(test, ['div', 'a', 'input'])

console.log(res)
// out log
`<div ></div>
<div ><span class='dss'>水电费费</span></div>
<p><input /></p>
<img src="http://1907/10172941e5ft.jpg"  alt="" class="seach-ad-img" />
<video src="ssss" class="sss"></video>
<audio src="ssss" class="sss"></audio>
<a >fdsf </a>`

评论:

    X

    备案号 皖ICP备19021899号-1  技术支持 © 947968273@qq.com