-4

これが私のスクリプトです:

function createSummaryAndThumb(pID) {
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = summary_noimg;
if(img.length >= 1) {
    imgtag = '<span class="thumbnail pull-left"><img src="' + img[0].srcreplace('/s640/', '/s' + image_size + '/') + '" width="' + img_thumb_width + 'px" height="' + img_thumb_height + 'px"/></span>';
    summ = summary_img;
}

var summary = imgtag + '<p>' + removeHtmlTag(div.innerHTML, summ) + '</p>';
div.innerHTML = summary;
}

上記のスクリプトは、/s640を/image_sizeに置き換えます。しかし、「640」の部分の値を変更するために何ができますか。私はこれを試しましたが、うまくいきません-

function createSummaryAndThumb(pID) {
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = summary_noimg;
if(img.length >= 1) {
    if (uh>img_thumb_width) imgtag = '<span class="thumbnail pull-left"><img src="' + img[0].src.replace('/s' + uh + '/', '/s' + img_thumb_width + '/') + '" width="' + img_thumb_width + 'px" height="' + img_thumb_height + 'px"/></span>';
    summ = summary_img;
}

var summary = imgtag + '<p>' + removeHtmlTag(div.innerHTML, summ) + '</p>';
div.innerHTML = summary;
}
4

2 に答える 2

2

内部の番号を次のようなものと一致させる必要があります。

replace(/\/s[0-9]+\//, '/s' + image_size + '/')

次に例を示します:http://jsfiddle.net/nfDea/

もう1つのオプションは、連結するために、最初と最後のみをキャプチャすることです。

replace(/(\/s)[0-9]+(\/)/, "$1" + image_size + "$2");

http://jsfiddle.net/nfDea/1/

実際にと呼ばれる変数を参照している場合はuh、以下を使用する必要があります。

var re = new RegExp("/s(" + uh + ")/");
a = a.replace(re, "/s" + image_size + "/");

http://jsfiddle.net/nfDea/4/

また

var re = new RegExp("(/s)" + uh + "(/)");
a = a.replace(re, "$1" + image_size + "$2");

http://jsfiddle.net/nfDea/3/

于 2013-01-25T06:45:25.797 に答える
-1
var reg = new RegExp('/s' + uh);
...
img[0].src.replace(reg, '/s' + img_thumb_width + '/') 
于 2013-01-25T06:49:23.300 に答える