在字符串str中,如果str中含有http://,www开头的,怎样完整读取这个url并转化为链接呢。
例如:
  就是http://www.163.com啊。
如何转化成:
  就是<a href="http://www.163.com">http://www.163.com</a>啊。
就是那个正则不会写,怎样写匹配这个url的正则呢,url前后可能都会有字符串。 

解决方案 »

  1.   


    <script type="text/javascript">
    <!--
    var str = "http://www.163.comdfsdfsafsdfhttp://www.baidu.com";
    var reg = /http:\/\/[\w.]+\.com/g;
    var result = str.match(reg);
    if(result){
    for(var i = 0; i < result.length; i++){
    document.write("<a href='"+result[i]+"'>"+result[i]+"</a>" + "<br/>");
    }
    }
    //-->
    </script>
      

  2.   

    有一个长长的字符串,将字符串里面的url转化为链接的形式,在网页上显示。。
    目的就是这。。
      

  3.   

    谢谢四楼,只是还有www.163.com这样的形式该怎样写呢。。
      

  4.   

    var str = "http://www.163.comdfsdfsafsdfhttp://www.baidu.comdsafdsawww.codepress.orgttt"
    使用这个字符串,上面的方法立马挂掉!
      

  5.   

    将这个var reg = /http:\/\/[\w.]+\.com/g;做成一个可以维护的数组吧。
      

  6.   


    var reg = /(?:http:\/\/)?(?:w{3}\.)[\w.]+?\.com/gi;//换下这个
      

  7.   

    谢谢大家啊,顺便问下,为什么大家写js的时候都带上<!--
    -->
    貌似莫有用啊
      

  8.   

    alert('就是http://www.163.com啊www.163.cn ok'.replace(/(http:\/\/)?(w{3}\.[\w\.-]*)/g,'<a href="http://$2">$1$2</a>'));