0

Twitter API を介して生成されたツイートがあります。たとえば、次のようになります。

<article class="tweet">
    Some users may have experienced issues accessing http://t.co/zDdcbPNfnU on @Firefox 22+. We've reached out to Mozilla and it's now resolved.
</article>
<article class="tweet">
  The issue with viewing photos is now resolved. Thanks for your patience!
</article>

リンクは正しいマークアップで生成されていないので、ここでやりたいことは、で始まる単語を選択しhttp://、それらの単語をアンカー タグでラップすることです。

私はこれに似たことができると思ったが、これは明らかにうまくいかない:

$('article.tweet').each(function(){
  var linkHref = $(this).html().find('http://');
  $(linkHref).wrap('<a href="' + linkHref + '" />');
});

jQueryでリンクを選択するにはどうすればよいですか?

4

1 に答える 1

2

それを RegExp に置き換えることができます:

$('article.tweet').each(function(){
  var linkHref = $(this).html().replace(/http:\/\/\S+/g, function (match) {
     return "<a href='" + match + "'>" + match + "</a>"
  });
  $(this).html(linkHref);
});

の 2 番目の引数に関数を指定して、replace()一致した各 URL をフォーマットします。

フィドルの例

于 2013-09-17T11:52:50.497 に答える