2013-01-25 26 views
-4

這裏是我的腳本:請幫我在這的JavaScript

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; 
} 

回答

2

你需要的東西,如內部匹配數量:

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

下面是一個例子:http://jsfiddle.net/nfDea/

另一種選擇是隻捕獲開始和結束,以便連接:

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/

+0

謝謝第一個解決了我的問題! – john

-1
var reg = new RegExp('/s' + uh); 
... 
img[0].src.replace(reg, '/s' + img_thumb_width + '/')