给url加链接的问题?

我现在这个给url加链接的正则有点bug。
他给img src 的url也加了,导致图片无法显示。
希望当url含有.jpg.png.gif.等就不加链接。
请问怎样修改能避开图片地址。谢谢老师。

var txt = document.getElementById('news').innerHTML;
var regexp = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|\&|-)+)/g;
txt1=txt.replace(regexp,function($url){
return "<a href='" + $url + "' target='_blank'>" + $url + "</a>";});;
document.getElementById('news').innerHTML=txt1
阅读 1.1k
1 个回答

单独验证下图片试试

var regImg = /\.(png|jpe?g|gif|svg)(\?.*)?$/ // 判断图片正则
var txt = document.getElementById('news').innerHTML;
var regUrl = /(http:\/\/|https:\/\/)((\w|=|\?|\.|\/|\&|-)+)/g;
txt1=txt.replace(regUrl,function($url){
    if (regImg.test($url)) { // 如果是图片链接,直接返回
        return $url
    } else {
        return "<a href='" + $url + "' target='_blank'>" + $url + "</a>"
    }
})
document.getElementById('news').innerHTML=txt1
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题