http,httpsから始まる文字列を探して、リンクを追加する関数

まずはコチラが関数です。

function addAutoLink(str) {
       var regexp_url = /((?<!href="|href='|src="|src=')(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
    return str.replace(regexp_url, "<a href='$1' target='__blank'>$1</a>");
}

var regexp_url = /((?<!href=”|href=’|src=”|src=’)(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;

これは、http, httpsで始まる文字列で、直前がhref=”でない(aタグ内では無い)文字列を探す正規表現

そして

return str.replace(regexp_url, “<a href=’$1′ target=’__blank’>$1</a>”);

で<a … ></a>置換した文字列を返しています。$1がマッチした文字列です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です