文字列のうち、「クォーテーションで囲われていないURI」に対して置換を行いたいです。
元の文字列が、
http://foo.bar/baz.html<br>"http://hoge.piyo/fuga.php"<br>'http://ex.ample/'
の場合、
<a href="http://foo.bar/baz.html">http://foo.bar/baz.html</a><br>"http://hoge.piyo/fuga.php"<br>'http://ex.ample/'
という形を目指しています。(<br>は改行を示しているわけではなく、"<br>"という文字列で渡されます。最終的にinnerHTMLになります)
元の文字列は改行を含みません(かならず1行で渡されます)。また、URIが出現する回数は不定です。
使用言語はVanilla JSです。
適切な正規表現パターンをご教示頂きたく思います。
lang
function foo(txt){ var chk = /h?ttps?:\/\//gi; if(!chk.test(txt)) return txt; var ptn = ''; // <- ??? return txt.replace(ptn, '<a href="$&">$&</a>'); }
まだ回答がついていません
会員登録して回答してみよう