0

多くの要素(テーブル、divなど)を含むhtmlページがあり、それらを文字列として取得し、文字列からこの形式を抽出したいので<img src="(whatever char).jpg" (whatever char)>、正規表現チュートリアルを試しましたが、複雑だったため何もできませんでした。そして、私は最初の出来事だけが必要です、ありがとう。

4

3 に答える 3

2

私は正規表現がこれについて行く正しい方法ではないと思います:

var all_images = document.getElementsByTagName('img');
var filtered_images = [];

for (var i = 0; i < all_images.length; i++) {
    var image = all_images[i];

    if (image.hasAttribute('src')) {
        filtered_images.push(image);
    }
}

jQueryを使用している場合、コードははるかに単純になります。

var images = $('img[src]');
于 2012-09-28T08:04:34.627 に答える
2

これはあなたの必要ですか?

"<img src=\"aaa.jpg\" (whatever char)>".match(/src="([^"]*)"/)[1]

Blenderに同意し、代わりにdomを使用してください。正規表現は良い解決策ではありません。

于 2012-09-28T08:09:22.300 に答える
0

HTMLを解析するために正規表現を使用することについて2度考える必要がある理由への必須リンク: RegExは、XHTML自己完結型タグを除くオープンタグと一致します

そうは言っても、なぜWebサイトのHTMLコードをDOMツリーではなく文字列として使用し、JavaScriptで操作する必要があるのだろうか。これは非常に珍しいユースケースのように見えます。解析するWebサイトでスクリプトを実行する場合は、document.getElementsByTagName( "img")を使用して、Webサイト上のすべての画像DOMノードの配列を取得できます。しかし、実際に別のWebサイトのソースコードを文字列として持っていて、それを解析したい場合は、この正規表現を試してください。

<img.*?src="(.*?)"
于 2012-09-28T08:10:05.430 に答える