+
80
-

js如何正则替换字符串中img图片的src地址?

我有一段html字符串,我想替换里面img图片的src地址,在前面加个域名,请问怎么操作,html代码如下

图片<img src="/good.jpg" />第二个<img src="/bad.jpg" />

通过正则匹配换成

图片<img src="http://a.com/good.jpg" />第二个<img src="http://a.com//bad.jpg" />

请高手指教


网友回复

+
0
-

可以用正则这样写

<script type="text/javascript">


    var content = '图片<img src="/good.jpg" />第二个<img src="/bad.jpg" />';
    // 写正则表达式,先把需要改变的地址原封不动拿过来
    // <img src="/good.jpg" >把不一样地方用(.*?)替换,如下
    // .匹配的是非空字符*匹配任意数量?拒绝贪婪,匹配任意数量的非空字符,如果不加?,就会匹配到最后
    var reg = /<img(.*?)src="(.*?)"(.*?)>/g;
    var result = content.replace(reg, '<img$1src="http://a.com/$2"$3>')
    alert(result);
</script>

+
0
-

可以通过正则提取src地址,在替换回去

<script type="text/javascript">

    var content = '图片<img src="/good.jpg" />第二个<img src="/bad.jpg" />';
    content.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi, function (match, capture) {
        alert(capture);
    });
</script>

我知道答案,我要回答