替换文本中网址,并加上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>