jqueryで自動リンクと指定箇所のリンクを解除

2012年11月3日更新 view: 156 view

jqueryで自動リンクをする方法。

//自動リンクしたい要素
$('.redactor_editor').each(function(){
  
//http から始まる要素を全て a タグで囲む
   $(this).html( jQuery(this).html().replace(/((http|https|ftp):\/\/[\w?=&.\/-;#~%-]+(?![\w\s?&.\/;#~%"=-]*>))/g, '<a href="$1">$1</a> ') );
  
  });
 
 //外部リンクには全て extlink 要素をつける
  $('.redactor_editor a[href^=http]').each(function(){
   $(this).not('[href*="'+location.hostname+'"]').attr('target','_blank').addClass('extlink');
  });
 
//a タグをつけたくない要素の a タグを全て削除
  $('.redactor_editor pre a').each(function(){
   $(this).contents().unwrap();//preの中のリンクを削除
  });
 
  $('blockquote a').each(function(){
   $(this).contents().unwrap();//blockquoteの中のリンクを削除
  });
スポンサードリンク

たったこれだけで自動的にリンクをつけることができます。

さらにおまけ。

#jquery 自動リンク
$(".twitter-matome p:not(.t-r),dl").each ->
    $(this).html $(this).html().replace(/((http|https|ftp):\/\/[\w?=&.\/-;#~%-]+(?![\w\s?&.\/;#~%"=-]*>))/g, "<a href=\"$1\">$1</a> ")

$(".twitter-matome .twitter-img").each ->
    $(@).wrap("<a href=\"#{$(@)[0].src}\"></a>")
スポンサードリンク

関連記事

関連カテゴリ