2011-02-08 9 views
2

Jsonレスポンスをループしてアンカーの部分(URL、ターゲット、テキスト)を抽出しようとしています。アンカータグからアンカーテキスト、URL、およびターゲットを抽出するjavascriptの正規表現

私は私が道の95%を得たこの質問/答えを見つけました:

javascript regex to extract anchor text and URL from anchor tags

var input_content = "blah \ 
    <a href=\"http://yahoo.com\">Yahoo</a> \ 
    blah \ 
    <a href=\"http://google.com\">Google</a> \ 
    blah"; 

var matches = []; 

input_content.replace(/[^<]*(<a href="([^"]+)">([^<]+)<\/a>)/g, function() { 
    matches.push(Array.prototype.slice.call(arguments, 1, 4)); 
}); 

alert(matches.join("\n")); 

//Gives 

//<a href="http://yahoo.com">Yahoo</a>,http://yahoo.com,Yahoo 
//<a href="http://google.com">Google</a>,http://google.com,Google 

私は目標をつかむために上記の正規表現を修正することができていません。どんな助けもありがとう。

ありがとうございました。

答えて

0

私はあなたがjQueryのへのアクセス権を持ってわからない(また、これはおそらく、ネイティブの正規表現よりも遅くなる)が、あなたはJSON応答からマークアップ文字列を抽出し、簡単に判読可能な処理のためのjQueryでそれをラップすることができます:

$links.find('a').each(function(){ 
    var text = $(this).text(); 
    var target = $(this).attr('target'); 
    var href = $(this).attr('href'); 

    // Do whatever you were going to do 
}); 
+0

私はjQueryを利用することができました。これがトリックでした。 – Steve

+0

Cool。私はXMLやSVGファイルなどの処理にも同様のトリックを行ってきました。正規表現を使用しようとするたびにぼやけてしまいました。 jQueryはSOOOの方がはるかに簡単です。 – peteorpeter

関連する問題