解析文本以格式化内容中的URL并缩短URL

时间:2012-07-02 16:22:02

标签: javascript

我想将以下文本解析为带锚标记的格式化网址:

something is wrong with http://www.gbin1.com/index.html,  but cannot find the reason in http://www.google.com

如何使用<a href="url">url</a>替换上面的文字网址,并使用JavaScript缩短文字网址,如下所示:

something is wrong with <a href="http://www.gbin1.com/index.html">gbin1.com</a>,  but cannot find the reason in <a href="http://www.gbin1.com">google.com</a>

1 个答案:

答案 0 :(得分:2)

检查此解决方案。

var x = "something is wrong with http://www.gbin1.com/index.html,  but cannot find the reason in http://www.google.com";
var expression = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
var regex = new RegExp(expression);
var split = x.split(" ");
for(var i=0; i< split.length; i++){
    if(split[i].match(regex)){
        var text = split[i].split(".").slice(1).join(".").split("/")[0];

        split[i] = '<a href=\"' +split[i]+'\">'+text+'</a>';
    }
}
console.log(split.join(" "));

http://jsfiddle.net/4JGY7/