日期:2014-05-16  浏览次数:20296 次

替换文本中网址,并加上A标签的问题
比如有如下文本:
<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>")

这个正则会把所有的网址都替换掉


在线等~~~~
------解决方案--------------------

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);

------解决方案--------------------
 <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>