From 7da1418069e09e002efd311a7d6e371690f6280f Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Thu, 19 May 2016 16:24:57 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E8=AF=86=E5=88=ABURL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/_intro_content.html.erb | 5 ++- public/javascripts/application.js | 54 +++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/app/views/users/_intro_content.html.erb b/app/views/users/_intro_content.html.erb index 351f1fdb0..ead3f6713 100644 --- a/app/views/users/_intro_content.html.erb +++ b/app/views/users/_intro_content.html.erb @@ -1,6 +1,6 @@
- <%= content.to_s.html_safe%> + <%= content.to_s.html_safe %>
\ No newline at end of file diff --git a/public/javascripts/application.js b/public/javascripts/application.js index d9f532a48..6023542f3 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -1291,3 +1291,57 @@ function pop_up_box(value,tWidth,tTop,tLeft){ } +//yk 自动识别URL 并加上链接 +var strRegex = '((https|http|ftp|rtsp|mms)?://)' + + '?(([0-9a-z_!~*\'().&=+$%-]+: )?[0-9a-z_!~*\'().&=+$%-]+@)?' //ftp的user@ + + '(([0-9]{1,3}.){3}[0-9]{1,3}' // IP形式的URL- 199.194.52.184 + + '|' // 允许IP和DOMAIN(域名) + + '([0-9a-z_!~*\'()-]+.)*' // 域名- www. + + '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z].' // 二级域名 + + '[a-z]{2,6})' // first level domain- .com or .museum + + '(:[0-9]{1,4})?' // 端口- :80 + + '((/?)|' // a slash isn't required if there is no file name + + '(/[0-9a-z_!~*\'().;?:@&=+$,%#-]+)+/?)'; + +function autoUrl(id){ + if ($("#"+id).children().length > 0 ){ + $("#"+id+" p,#"+ id +" span,#"+id+" em,#"+id+" h1,#"+id+" h2,#"+id+" h3,#"+id+" h4,#"+id+" strong,#"+id+" b,#"+id+" font,#"+id+" i").each(function(){ + if ($(this).children().length == 0){ + var html = $(this).text(); //.replace(/(^\s*)|(\s*$)/g, "") + console.log("html="+html); + var re=new RegExp(strRegex,"g"); + html = html.replace(re,function(full) { + //没有://的都加上http:// + if (full.indexOf("://") >= 0){ + var reStr = ""+full+""; + } + else{ + var reStr = ""+full+""; + } + console.log("reStr="+reStr); + return reStr; + }); + $(this).html(html); + } + }); + } + else{ + var html = $("#"+id).text(); //.replace(/(^\s*)|(\s*$)/g, "") + console.log("html="+html); + var re=new RegExp(strRegex,"g"); + html = html.replace(re,function(full) { + //没有://的都加上http:// + if (full.indexOf("://") >= 0){ + var reStr = ""+full+""; + } + else{ + var reStr = ""+full+""; + } + console.log("reStr="+reStr); + return reStr; + }); + $("#"+id).html(html); + } +} + +