2012-06-19 2 views
2

예를 들어 변수 안에 이미지 태그가 포함 된 HTML 코드가 있습니다. 나는이 추가적으로 매개 변수를 추가 할ruby ​​gsub을 사용하여 url에 매개 변수를 추가하고 싶습니다.

html_chunk = "<p><img src="https://www.eff.org/files/HTTPS_Everywhere_new_logo.jpgxcvxcvxcv" style="width: 360px; height: 311px; " /><img alt="" src="https://mylocal/media/a649vb?filename=1339756119888_sprites_ie6.png&amp;amp;type=attachment" /></p>" 

는 그 변수 안에 이미지 태그의 모든 src 속성에 "&foo=123"을 말한다.

나는 루비의 gsub! 방법

html_chunk.gsub!(/"(http[s]?:\/\/.*?\/([media]+).*\")/) {|src| "#{src}&foo=123}"} 

를 사용하여 시도하지만 자바 스크립트에서이

<img alt="" src="https://mylocal/media/a649?filename=1339756119888_sprites_ie6.png&amp;amp;type=attachment"&_foo=123 /> 
+0

왜 당신이 루비를 사용하려면 자바 스크립트 태그가? –

+0

그냥 노코 기리를 사용하면 시간을 절약 할 수 있습니다. – tokland

+0

Nokogiri는 파싱을 매우 느리게 만듭니다. –

답변

0

같은 따옴표 후 매개 변수를 추가 : 나는이 확신

// Create a dummy DOM element 
var dom = document.createElement('div'); 
dom.innerHTML = html_chunk; 

// Get all the images 
var imgs = dom.getElementsByTagName('img'); 

// Loop through'em 
[].forEach.call(imgs, function(img) { 

    // Add a string to their src 
    img.src += '&foo=123'; 
}); 

루비의 DOM 파서.

1

당신은 마지막 유지해야 "[견적이 아닌 모든 문자를 의미 캡처 그룹의 외부 ^]가."

html_chunk.gsub! %r|"(https?://[^"]*/media/[^"]*)|, '"\\1&foo=123' 
+0

고마워 .. 일했다 :) –

+0

시간 절약하기 :) – useranon

관련 문제