2011-10-19 11 views
1

私は、テキストの塊からURLを取り出してリンクで置き換える機能を持っています。私がしたいことは、$ 1の長さを見て、それが64chars以上であれば、 "link"のようなものに置き換えたいと思います。私はこれにどのように接近するか分かりません。JavascriptでURLを見つけてリンクで置き換え、必要に応じてテキストを切り捨てます

var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; 
return text.replace(exp,"<a href='$1' target='_blank'>$1</a>"); 

答えて

3

TRY -

var str = "http://www.yahooghghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdf.co.uk"; 
str = str.replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig, function($0) { 
    if ($0.length > 60) return "<a href='" + $0 + "' target='_blank'>Link</a>" 
    else return "<a href='" + $0 + "' target='_blank'>" + $0 + "</a>"  
}) 
alert(str); 

デモ - http://jsfiddle.net/E7hyd/

+0

感謝。それは動作し、非常に便利です。 – shaneburgess

関連する問題