比如有如下文本:
<img src="http://www.aaa.com/123.jpg"/>中中中中中 http://www.baidu.com <a href="http://www.china.com">asdfasdf</a>需要把http://www.baidu.com 这个变成<a href="http://www.baidu.com" target="blank">www.baidu.com</a>只替换非标签的网址,而标签内的不发生改变找了一个:srcString.replace(/((https?|ftp|file):\/\/[-a-zA-Z0-9+&@#\/%?=~_|!:,.;]*)/g,"<a target='blank' href=\"$1\">$1</a>")这个正则会把所有的网址都替换掉
在线等~~~~

解决方案 »

  1.   


    var str = '<a href="http://www.china.com">asdfasdf</a>';
    var end = str.replace(/(<a\s?href=)(.*)>(.*)(<\/a>)/ig, '$1' + '"http://www.baidu.com">http://www.baidu.com$4');
    console.log(end);
      

  2.   

     <script language="javascript" type="text/javascript">
            var str = '<img src="http://www.aaa.com/123.jpg"/>中中中中中 http://www.baidu.com <a href="http://www.china.com">asdfasdf</a>';
           str= str.replace(/(>[^>]*?)(https?:\/\/((?!<)\S)+)/,'$1<a href="$2">$2</a>');
            alert(str);
        </script>