正则匹配<img src="https:/XXX.jpg" style="">

问题描述

<img src="https:/XXX.jpg&quot; style="width:999px;">
<img src="https:/XXX.jpg&quot; style="width:999px;" data-id="1">
用正则匹配获得的结果
<img src="https:/XXX.jpg&quot;> 最后只保留 src属性,其余属性都不要

问题出现的环境背景及自己尝试过哪些方法

因为从后台获取的字符串标签 style的格式是标准的,格式是:
<img src="https:/XXX.jpg&quot; style="width:"999px";" data-id="1">
导致匹配错误出现乱码
尝试使用非来配置,但结果例如,“/1/g” 表示 非h非e非l非o,并不能理解为 非(hello),所以匹配结果是 w 和 rd123。
所以并不是我想要的效果

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

<img src="https:/XXX.jpg&quot;> 最后只保留 src属性,其余属性都不要


  1. hello
阅读 3k
2 个回答

简洁点目的是截取src内容, 用src内容再构建img就好了

function re(str) {
    var match = (str || '').match(/src=("|')(.+?)\1/);
    if(!match) {
        return false;
    }
    return "<img src='" + match[2] + "'/>"
}

前提是你的符号要正确,属性之间的双引号要对称,&quot;转成引号

var reg =/\<img.+(src=\".+?")([^>]+)?\>/;
str.replace(reg,<img $1>);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏