これはより良い解決策ではないでしょうか?
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
()
は(ie)内の最初の部分src=
を表し、 (ie )$2
内の 2 番目の部分を表すので、これは と の間で値を変更しようとしていることを示しています。より明確に、次のようになります。()
&
src
&
src='changed value'& // this is to be replaced with your original url
すべてのオカレンスを置き換えるためのアドオン:
同じ名前のパラメーターが複数ある場合は、次のように正規表現グローバル フラグに追加できます。これtext.replace(/(src=).*?(&)/g,'$1' + newSrc + '$2');
により、同じ名前を共有するパラメーターのすべての値が置き換えられます。