js正则替换a标签为span标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>

    var  str =`<p>请问开发一个快车共享的app预算需要多少</p><p><br></p><p><br></p><p>墨轴旗舰店:潘雪会2021-3-11 04:45:25</p><p>您好,中犇科技欢迎您,我公司专业APP及软硬件 开发,15年开发经验,400+软硬件工程师,5000+行业案例<br>若未及时回复,您可以留下【手机号(或维信)+开发需求】,值班项目经理第一时间联系您,协助您确认软件各项功能,免 费帮您出方案和预算。<br><a href="alires:///WebUI/chatmsg/recent.html?debug=true&type=0&enable_report=1&dlguniqname=6acda4be-b219-42b5-9fc5-c26c71deb9d9&param=%7B%22actiondata%22%3A%22%22%2C%22actiontype%22%3A0%2C%22cid%22%3A%7B%22appkey%22%3A%22%22%2C%22nick%22%3A%22%22%7D%2C%22gids%22%3A%5B%5D%2C%22readmsgid%22%3A%22%22%2C%22readmsgtime%22%3A%22%22%7D&lang=zh_CN#TemplateMsgAction#["wangx://p2sconversation/package?serviceType=cloud_auto_reply&toId=cntaobao%E5%A2%A8%E8%BD%B4%E6%97%97%E8%88%B0%E5%BA%97:%E6%BD%98%E9%9B%AA%E4%BC%9A&number=1&bizType=1&sendChatMsg=APP%E5%BC%80%E5%8F%91%E5%A4%9A%E5%B0%91%E9%92%B1&bizId=17050693&fromId=cntaobao%E8%AF%BA%E5%A4%A7%E4%B8%AA&questionText=APP%E5%BC%80%E5%8F%91%E5%A4%9A%E5%B0%91%E9%92%B1"]">APP开发多少钱</a><br><a href="alires:///WebUI/chatmsg/recent.html?debug=true&type=0&enable_report=1&dlguniqname=6acda4be-b219-42b5-9fc5-c26c71deb9d9&param=%7B%22actiondata%22%3A%22%22%2C%22actiontype%22%3A0%2C%22cid%22%3A%7B%22appkey%22%3A%22%22%2C%22nick%22%3A%22%22%7D%2C%22gids%22%3A%5B%5D%2C%22readmsgid%22%3A%22%22%2C%22readmsgtime%22%3A%22%22%7D&lang=zh_CN#TemplateMsgAction#["wangx://p2sconversation/package?serviceType=cloud_auto_reply&toId=cntaobao%E5%A2%A8%E8%BD%B4%E6%97%97%E8%88%B0%E5%BA%97:%E6%BD%98%E9%9B%AA%E4%BC%9A&number=2&bizType=1&sendChatMsg=%E5%85%AC%E5%8F%B8%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F&bizId=17050702&fromId=cntaobao%E8%AF%BA%E5%A4%A7%E4%B8%AA&questionText=%E5%85%AC%E5%8F%B8%E5%9C%A8%E5%93%AA%E9%87%8C%EF%BC%9F"]">公司在哪里?</a><br><a href="alires:///WebUI/chatmsg/recent.html?debug=true&type=0&enable_report=1&dlguniqname=6acda4be-b219-42b5-9fc5-c26c71deb9d9&param=%7B%22actiondata%22%3A%22%22%2C%22actiontype%22%3A0%2C%22cid%22%3A%7B%22appkey%22%3A%22%22%2C%22nick%22%3A%22%22%7D%2C%22gids%22%3A%5B%5D%2C%22readmsgid%22%3A%22%22%2C%22readmsgtime%22%3A%22%22%7D&lang=zh_CN#TemplateMsgAction#["wangx://p2sconversation/package?serviceType=cloud_auto_reply&toId=cntaobao%E5%A2%A8%E8%BD%B4%E6%97%97%E8%88%B0%E5%BA%97:%E6%BD%98%E9%9B%AA%E4%BC%9A&number=3&bizType=1&sendChatMsg=%E6%9C%89%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F%E5%90%97%EF%BC%9F&bizId=17050708&fromId=cntaobao%E8%AF%BA%E5%A4%A7%E4%B8%AA&questionText=%E6%9C%89%E8%81%94%E7%B3%BB%E6%96%B9%E5%BC%8F%E5%90%97%EF%BC%9F"]">有联系方式吗?</a><br></p><p>已读</p><p><br></p><p>墨轴旗舰店:潘雪会2021-3-11 08:35:39</p><p>您好在的</p><p>已读</p><p><br></p><p>可以制作的</p><p>已读</p><p><br></p><p>麻烦您上线后回复我下, 我安排项目经理专线和您详细沟通报价,不会耽误您太多时间。</p><p>已读</p><p><br></p><p><i></i>以上为历史消息</p><p>诺大个2021-3-12 16:53:33</p><p>好的不好意思,您可以联系18994095832</p><p><br></p><p><br></p><p>墨轴旗舰店:小犇2021-3-12 16:53:56</p><p>您好 您要做什么类型的APP呢</p><p>未读</p><p><br></p><p>好的</p><p>未读</p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p><p><br></p>`
    var b=/<a([\s]+|[\s]+[^<>]+[\s]+)href=(\"([^<>"\']*)\"|\'([^<>"\']*)\')[^<>]*>/gi;
    str = str.replace(b,'<span>')
    str = str.replace(/<\/a>/gi,'</span>')
    console.log(str)
</script>
</html>

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用正则表达式结合 JavaScript 的 replace() 方法来实现。以下是一个示例代码: ```html <!DOCTYPE html> <html> <head> <title>Replace Text in HTML Tag</title> </head> <body> <div> <p>Hello, <span class="name">John</span>!</p> <p>Welcome to our website!</p> </div> <script> var html = document.documentElement.innerHTML; var regex = /<span class="name">([^<]+)<\/span>/g; var replacedHtml = html.replace(regex, "$1 Doe"); document.documentElement.innerHTML = replacedHtml; </script> </body> </html> ``` 上述代码会将 HTML 中所有带有 class 属性为 "name" 的 span 标签内的文本替换为 "Doe"。具体实现过程如下: 1. 使用 document.documentElement.innerHTML 获取整个 HTML 页面的文本。 2. 定义一个正则表达式,用于匹配带有 class 属性为 "name" 的 span 标签内的文本。这里使用了捕获组来获取标签内的文本内容。 3. 使用 replace() 方法进行替换。第一个参数是要匹配的正则表达式,第二个参数是要替换成的文本。这里使用了 "$1" 占位符来表示捕获组中的文本内容。 4. 将替换后的 HTML 重新赋值给 document.documentElement.innerHTML,即可实现替换效果。 需要注意的是,在使用正则表达式匹配 HTML 标签时,应该使用非贪婪模式,即在正则表达式后面加上 "?",以避免匹配到多个标签的情况。例如上述代码中的正则表达式为 /<span class="name">([^<]+)<\/span>/g,其中的 "[^<]+" 就是一个非贪婪模式的表达式,表示匹配除了 "<" 外的任意字符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值