Разве это не было бы лучшим решением?
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
ADD-ON для замены всех вхождений:
Если у вас есть несколько параметров с одинаковым именем, вы можете добавить к регулярному выражению globalфлаг, например, text.replace(/(src=).*?(&)/g,'$1' + newSrc + '$2');
, и он заменит все значения для тех параметров, которые имеют одинаковое имя.