Javascript 使用jQuery设置用户输入格式的自动链接URL
如何在任何带有URL的文本中动态创建锚元素 例如 转这个Javascript 使用jQuery设置用户输入格式的自动链接URL,javascript,jquery,html,Javascript,Jquery,Html,如何在任何带有URL的文本中动态创建锚元素 例如 转这个 转到http://google.com 进入这个 转到您可以使用regexp自己完成,但使用第三方模块(特别是当您想在已经包含一些HTML的文本上执行此操作时)要容易得多,例如autolinker: 您可以使用regexp自己完成,但使用第三方模块(特别是当您希望在已经包含一些HTML的文本上执行此操作时)要容易得多,例如autolinker: 从您处获取正则表达式可以循环段落并更改url(如果有): $('p')。每个(函数(id
转到http://google.com
进入这个
转到
您可以使用regexp自己完成,但使用第三方模块(特别是当您想在已经包含一些HTML的文本上执行此操作时)要容易得多,例如autolinker:
您可以使用regexp自己完成,但使用第三方模块(特别是当您希望在已经包含一些HTML的文本上执行此操作时)要容易得多,例如autolinker: 从您处获取正则表达式可以循环段落并更改url(如果有):
$('p')。每个(函数(idx、ele){
var retVal=getUrl(ele.textContent);
如果(返回){
this.textContent=this.textContent.replace(retVal.);
$('',{href:retVal,html:retVal}).appendTo($(this));
}
})
函数getUrl(t){
变量表达式=/[-a-zA-Z0-9@:%\+.~#?&/=]{2256}.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%\+.~#?&/=]*)/gi;
var regex=新的RegExp(表达式);
var结果=t.match(正则表达式);
如果(结果){
返回结果[0];
}否则{
返回“”;
}
}
去http://google.com
转到hhhh
获取正则表达式,您可以循环段落并更改url(如果有):
$('p')。每个(函数(idx、ele){
var retVal=getUrl(ele.textContent);
如果(返回){
this.textContent=this.textContent.replace(retVal.);
$('',{href:retVal,html:retVal}).appendTo($(this));
}
})
函数getUrl(t){
变量表达式=/[-a-zA-Z0-9@:%\+.~#?&/=]{2256}.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%\+.~#?&/=]*)/gi;
var regex=新的RegExp(表达式);
var结果=t.match(正则表达式);
如果(结果){
返回结果[0];
}否则{
返回“”;
}
}
去http://google.com
转到hhhhh
$.prototype.anchor=function(){
如果(此[0].textContent){
this.html(this[0].textContent.replace(/((https?:\/\/)((\w){1,63}\)?(\w){1253}.(\w){2,63}([\w:=-\/]+)/gi,$1'))
.find('a').each(函数(){this.href=this.textContent;});
}
归还这个;
};
//对任何jQuery对象调用.anchor()来解析它
$('p').each(函数(){$(this.anchor();})代码>
去http://stackoverflow.com/questions
不要到这里来
google.com是meh
去http://www.google.com 或https://www.google.com
不是网络钓鱼链接www.google.com
紫罗兰是美酒,玫瑰是玫瑰。益普生:42/dolor?sit=amet
$.prototype.anchor=function(){
如果(此[0].textContent){
this.html(this[0].textContent.replace(/((https?:\/\/)((\w){1,63}\)?(\w){1253}.(\w){2,63}([\w:=-\/]+)/gi,$1'))
.find('a').each(函数(){this.href=this.textContent;});
}
归还这个;
};
//对任何jQuery对象调用.anchor()来解析它
$('p').each(函数(){$(this.anchor();})代码>
去http://stackoverflow.com/questions
不要到这里来
google.com是meh
去http://www.google.com 或https://www.google.com
不是网络钓鱼链接www.google.com
紫罗兰是美酒,玫瑰是玫瑰。益普生:42/dolor?sit=amet
var linkedText = Autolinker.link(textToAutolink);