这不是更好的解决方案吗?
var text = 'http://localhost/mysite/includes/phpThumb.php?src=http://media2.jupix.co.uk/v3/clients/4/properties/795/IMG_795_1_large.jpg&w=592&aoe=1&q=100';
var newSrc = 'www.google.com';
var newText = text.replace(/(src=).*?(&)/,'$1' + newSrc + '$2');
编辑:
在代码中增加了一些清晰度,并在结果链接中保留了“src”
$1
表示内的第一部分()
(即,)src=
和$2
表示内的所述第二部分()
(即)&
,所以这表示你要改变之间的值src
和&
。更清楚一点,应该是这样的:
src='changed value'& // this is to be replaced with your original url
用于替换所有事件的附加组件:
如果您有多个同名参数,您可以附加到正则表达式全局标志,就像这样text.replace(/(src=).*?(&)/g,'$1' + newSrc + '$2');
,这将替换那些共享同名参数的所有值。