Linker

    @@ -8,18 +8,24 @@ function link(e) { - // convert only leaf nodes var f = false; - var a = e.innerHTML.replace(/(<p.*?>|<hr.*?>|<w?br.*?>|<(?:.|\n)*>)|((?:https?|data|feed|ftp|mailto|maps|market|skype|sms|tel):[^\s<>]+)/gi, function (m0, m1, m2){ if (m1){ return m1 } else { f = true; return '<a href="' + m2 + '">' + m2 + '</a>'; } }); - if (f){ + var a = e.innerHTML.replace( + /(<p.*?>|<hr.*?>|<w?br.*?>|<(?:.|\n)*>)|((?:https?|data|feed|ftp|mailto|maps|market|skype|sms|tel):[^\s<>]+)/gi, + function (m0, m1, m2){ + if (m1){ + return m1; + } + else { + f = true; + return '<a href="' + m2 + '">' + m2 + '</a>'; + } + }); + + if (f) e.innerHTML = a; - return; - } - else { - for (var i = 0; i < e.children.length; i++){ + else + for (var i = 0; i < e.children.length; i++) link(e.children[i]); - } - } } link(document.getElementsByTagName('body')[0]);
  • /*
     * @title Linker
     * @description convert plain URL texts to links
     * @include http://*
     * @license MIT License
     */
    
    
    function link(e)
    {
    	var f = false;
    	var a = e.innerHTML.replace(
    		/(<p.*?>|<hr.*?>|<w?br.*?>|<(?:.|\n)*>)|((?:https?|data|feed|ftp|mailto|maps|market|skype|sms|tel):[^\s<>]+)/gi,
    		function (m0, m1, m2){
    			if (m1){
    				return m1;
    			}
    			else {
    				f = true;
    				return '<a href="' + m2 + '">' + m2 + '</a>';
    			}
    		});
    	
    	if (f)
    		e.innerHTML = a;
    	else
    		for (var i = 0; i < e.children.length; i++)
    			link(e.children[i]);
    }
    
    link(document.getElementsByTagName('body')[0]);
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2012/12/15 01:47:55 - 2012-12-15
  2. 2012/12/15 01:46:17 - 2012-12-15
  3. 2012/11/02 23:29:03 - 2012-11-02
  4. 2012/11/02 23:08:39 - 2012-11-02
  5. 2012/11/02 11:56:41 - 2012-11-02
  6. 2012/11/02 11:41:37 - 2012-11-02