2

変数内にイメージタグを含む HTML コードのチャンクがあります。

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>"

"&foo=123"その変数内のイメージタグのすべてのsrc属性に、追加のパラメーターを追加したいと思います。

Rubyの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 />
4

2 に答える 2

1

最後の「キャプチャグループの外」を保持する必要があります。[^"]は、引用符ではない文字を意味します。

html_chunk.gsub! %r|"(https?://[^"]*/media/[^"]*)|, '"\\1&foo=123'
于 2012-06-19T08:14:20.950 に答える
0

JavaScript の場合:

// 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';
} );

RubyにはDOMパーサーがあると確信しています。

于 2012-06-19T07:05:52.323 に答える