Javascript 替换()或换行()http://name.tld/request_url?parameter 与<;a href=";这"></a>;?
是否有更好的方法替换/包装Javascript 替换()或换行()http://name.tld/request_url?parameter 与<;a href=";这"></a>;?,javascript,jquery,regex,replace,Javascript,Jquery,Regex,Replace,是否有更好的方法替换/包装h*tp://name.tld/request\u url?参数或h*tps://name.tld/request_url?parameter某些html元素中带有“”的文本) ); }); 推文1http://google.com 和其他文本。 推文2https://www.google.com 和其他文本。 推特文本3 ... 没有比这更好的方法了,不过您可以简化一下,如下所示: jQuery('#posts .post').each( function () {
h*tp://name.tld/request\u url?参数或h*tps://name.tld/request_url?parameter
某些html元素中带有“”的文本)
);
});
推文1http://google.com 和其他文本。
推文2https://www.google.com 和其他文本。
推特文本3
...
没有比这更好的方法了,不过您可以简化一下,如下所示:
jQuery('#posts .post').each( function () {
jQuery(this).html(function(i, html) {
return html.replace(/(http?:\/\/?\S+)/g, "<a href='$1'>$1</a>");
});
});
jQuery('#posts.post')。每个(函数(){
jQuery(this).html(函数(i,html){
返回html.replace(/(http?:\/\/?\S+)/g,“”);
});
});
只有当你确信这些帖子不包含HTML时才使用这种方法,否则就使用你所拥有的
jQuery可以处理DOM节点,而不是节点内部的文本,或者说它可以处理,因为它只是JavaScript…但是它没有提供很多额外的功能。jQuery,包括,主要处理DOM操作,而不是文本。你说得对-wrap()不能处理纯文本和文本()如果节点中可能有任何其他HTML代码,则不应使用。我的问题是,是否有任何方法可以使用较少的代码/efford来实现这一点?这些代码也可以更早地进行操作..例如,服务器端或AJAX调用的响应成功函数中。无论如何,您的答案是Thx…@gabel-没有更便宜的方法我曾经见过,除非你提前在服务器端(我会这么做)。