0

少なくとも私にとっては複雑な正規表現です。これは私が持っている文字列です:

/wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2

私がやりたいのは、その文字列に含まれているURLを自分が選んだ別のURLに変更することです。

http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg

http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg

src =と&h=の間のデータを正規表現で一致/置換する方法がわかりません

助けてくれてありがとう!

4

3 に答える 3

2

正規表現で行う必要がありますか?

function replaceURL(sourceURL, newPart) {
    var beforeSrc = sourceURL.split('?src=')[0];
    var afterH = sourceURL.split('&h=')[1];

    return beforeSrc + '?src=' + newPart + '&h=' + afterH;
}

次に、電話するだけです

replaceURL(
    '/wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2',
    'http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg'
);

有効なURLでは、サブストリングは予想よりも早く表示されることも、後で表示される?srcこともできないため、これは有効であることに注意してください。&h

于 2012-05-12T00:46:26.507 に答える
2

おそらく正規表現を使用する必要はありませんが、あなたが尋ねたので...

var str = '/wp-content/themes/modern2/timthumb.php?src=http://www.cnn.com/storyimages/4C59D569-7749-F32B.jpg&h=442&w=642&zc=1&s=2'
var url = 'http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg'
str = str.replace(/src=(.*?)&/, 'src=' + url +'&')

出力:

/wp-content/themes/modern2/timthumb.php?src=http://upload.wikimedia.org/wikipedia/commons/2/20/Google-Logo.svg&h=442&w=642&zc=1&s=2
于 2012-05-12T00:47:17.613 に答える
0

次のような通常の式を使用します。

src=([^&$]+)

正規表現コード例を次に示します。

于 2012-05-12T00:53:58.390 に答える