段落内のhttpとhttpsで始まるすべての文字列を検索し、jqueryを使用してリンクに変換することは可能ですか?
私のウェブサイトでツイッターリストを取得しました。すべての行はhttp&httpsで始まり、通常の文字列[テキスト]として表示されます。それらをハイパーリンクに変換したい。これはjavascript、jQueryで可能ですか?
段落内のhttpとhttpsで始まるすべての文字列を検索し、jqueryを使用してリンクに変換することは可能ですか?
私のウェブサイトでツイッターリストを取得しました。すべての行はhttp&httpsで始まり、通常の文字列[テキスト]として表示されます。それらをハイパーリンクに変換したい。これはjavascript、jQueryで可能ですか?
文字列内のURLをチェックし、リンクとして変換するコードを次に示します。これにより、WWWで開始されたリンクも検出されます。これがお役に立てば幸いです。
function Checkurl(text) {
var url1 = /(^|<|\s)(www\..+?\..+?)(\s|>|$)/g,
url2 = /(^|<|\s)(((https?|ftp):\/\/|mailto:).+?)(\s|>|$)/g;
var html = $.trim(text);
if (html) {
html = html
.replace(url1, '$1<a style="color:blue; text-decoration:underline;" target="_blank" href="http://$2">$2</a>$3')
.replace(url2, '$1<a style="color:blue; text-decoration:underline;" target="_blank" href="$2">$2</a>$5');
}
return html;
}
このようなもの?
$(document).ready(function() {
var linkable_content = $('div#linkable').html().replace(/(https?:\/\/[^ ;|\\*'"!,()<>]+\/?)/g,'<a href="$1">$1</a>');
$('div#linkable').html(linkable_content);
});
ソース:http ://tangible.ca/articles/44/snippet-jquery-linkifier
jQueryWikiTextプラグインの次のユーティリティ関数が機能します。
function findUrls( text )
{
var source = (text || '').toString();
var urlArray = [];
var url;
var matchArray;
// Regular expression to find FTP, HTTP(S) and email URLs.
var regexToken = /(((ftp|https?):\/\/)[\-\w@:%_\+.~#?,&\/\/=]+)|((mailto:)?[_.\w-]+@([\w][\w\-]+\.)+[a-zA-Z]{2,3})/g;
// Iterate through any URLs in the text.
while( (matchArray = regexToken.exec( source )) !== null )
{
var token = matchArray[0];
urlArray.push( token );
}
return urlArray;
}
これがお役に立てば幸いです。