Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换()或换行()http://name.tld/request_url?parameter 与<;a href=";这"></a>;?_Javascript_Jquery_Regex_Replace - Fatal编程技术网

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-没有更便宜的方法我曾经见过,除非你提前在服务器端(我会这么做)。